Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 首先打包dm.dll和RegDll.dll到附件,當然如果你還有其它資源(字庫,圖片等)也可以一併打包
- // 這個need_ver作為本腳本需要使用的插件版本. 如果要換插件時,記得更改這個值.
- need_ver = "7.2123"
- // 插件需要用到atl系統庫,有些XP精簡系統會把atl.dll精簡掉. 為了防止註冊失敗,這裡手動註冊一下atl.dll
- set ws=createobject("Wscript.Shell")
- ws.run "regsvr32 atl.dll /s"
- set ws=nothing
- // 釋放附件>>>>>>>>>>>>>>>>>>>
- // 這裡選擇c盤的test-_game作為插件的基本目錄 也就是SetPath對應的目錄。所以所有資源都釋放在此目錄.
- PutAttachment "c:\test_game","*.*"
- // 這裡要用到RegDll來註冊插件,所以必須釋放到Plugin. 但是切記不能把dm.dll釋放到Plugin.那會導致插件失效.
- PutAttachment ".\Plugin" ,"RegDll.dll"
- // 插件註冊開始>>>>>>>>>>>>>>>>>>>
- // 下面開始註冊插件,先嘗試用RegDll來註冊.這裡必須使用絕對路徑。以免有別人把dm.dll釋放在系統目錄.造成版本錯誤.
- Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
- // 這裡判斷是否註冊成功
- set dm = createobject("dm.dmsoft")
- ver = dm.Ver()
- if ver <> need_ver then
- // 先釋放先前創建的dm
- set dm = nothing
- // 再嘗試用regsvr32 來註冊. 這裡必須使用絕對路徑。以免有別人把dm.dll釋放在系統目錄.造成版本錯誤.
- set ws=createobject("Wscript.Shell")
- ws.run "regsvr32 c:\test_game\dm.dll /s"
- set ws=nothing
- Delay 1500
- // 再判斷插件是否註冊成功
- set dm = createobject("dm.dmsoft")
- ver = dm.Ver()
- if ver <> need_ver then
- // 這時,已經確認插件註冊失敗了。 彈出一些調試信息,以供分析.
- messagebox "插件版本錯誤,當前使用的版本是:"&ver&",插件所在目錄是:"&dm.GetBasePath()
- messagebox "請關閉程序,重新打開本程序再嘗試"
- endscript
- end if
- end if
- // 插件註冊結束<<<<<<<<<<<<<<<
- // 收費註冊開始,簡單游作者也必須要加這一段. 不會重複扣費.
- // ok,這裡已經確認插件註冊成功,並且創建了對象,下面開始註冊收費服務.
- // 當然這裡也可以使用高級的RegEx函數.
- //dm_ret = dm.Reg("abcdefg","0001") // abcdefg是您的註冊碼. 在大漠插件網站後台可以直接獲取.
- if dm_ret <> 1 then
- messagebox "註冊失敗,返回值是:"&dm_ret
- endscript
- end if
- // 收費註冊結束<<<<<<<<<<<<<<<<
- //這裡設置插件基本目錄
- dm.SetPath "c:\test_game"
- // 獲取句柄
- hwnd = dm.GetMousePointWindow()
- // 綁定
- dm_ret = dm.BindWindow(hwnd,"dx","dx","dx",0)
- // 檢測綁定返回值
- if dm_ret = 0 then
- last_error = dm.GetLastError()
- // 如果是WIN7 WIN8 VISTA WIN2008系統,檢測當前系統是否有開啟UAC
- if dm.GetOsType() = 3 or dm.GetOsType() = 4 or dm.GetOsType() = 5 then
- // 有開啟UAC的話,嘗試關閉
- if dm.CheckUAC() = 1 then
- if dm.SetUAC(0) = 1 then
- // 關閉UAC之後,必須重啟系統才可以生效
- messagebox "已經關閉系統UAC設置,必須重啟系統才可以生效。點擊確定重啟系統"
- dm.ExitOs 2
- Delay 2000
- endscript
- end if
- end if
- end if
- // 具體錯誤碼的含義,可以參考函數GetLastError的說明.
- messagebox "綁定失敗,錯誤碼是:"&last_error
- messagebox "如果確定關閉了UAC,很可能是系統的防火墻攔截插件,請暫時關閉360等安全防火墻再嘗試"
- endscript
- end if
- // 下面就是腳本部分了 省略
- // 下面這是腳本結束時執行的部分
- //-------------------------------------------------
- dm.MoveTo 758, 552
- dm.LeftClick
- dm.KeyPress 112
- //-------------------------------------------------
- Sub OnScriptExit()
- dm.UnBindWindow
- set dm = nothing
- End Sub
- // 線程結束時調用
- Sub OnThreadExit()
- dm.UnBindWindow
- set dm = nothing
- End Sub
- // 結束
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement