黃易群俠傳M脫機外掛應用程式黃易神行
2943
8

[分享] 開機運行程式

天使鳥人 發表於 2009-3-31 17:23:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |
開機運行程式
有兩種方法,1是註冊表方式
模組代碼
Option Explicit
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Const REG_SZ = 1
Public Const HKEY_LOCAL_MACHINE = &H80000002
'*************************************************************************
'** 名: SetAutoRun
'**    入: ByVal Autorun(Boolean) -
'**    出:
'**功能描述: WINDOWS自動啟動/取消啟動模組
'**總體變數:
'**調用方法: Call SetAutoRun(True/False)
'**    期: 2006-09-05 09:07:25
'** 人:
'**    期:
'**    本: V1.0.0
'*************************************************************************
Public Sub SetAutoRun(ByVal Autorun As Boolean)

Dim KeyId As Long


Dim MyexePath As String


Dim regkey As String

   

MyexePath = App.Path & "\" & App.EXEName & ".exe" '
獲取程式位置


regkey = "Software\Microsoft\Windows\CurrentVersion\Run" '
鍵值位置變數


Call RegCreateKey(HKEY_LOCAL_MACHINE, regkey, KeyId) '
建立

   

If Autorun Then


RegSetValueEx KeyId, "MySoftware", 0&, REG_SZ, ByVal MyexePath, LenB(MyexePath)


Else


RegDeleteValue KeyId, "MySoftware"


End If


RegCloseKey KeyId

End Sub
調用方法
SetAutoRun(ByVal Autorun As Boolean)
2是利用Vb5stkit.dll堶悸漕蝻
表單部分代碼,加入6個按鈕
Option Explicit
Private Sub CmdAddStartup_Click()
'
在開始功能表的啟動程式組下創建記事本的快捷方式


Call OSfCreateShellLink("\
啟動", "記事本", GetWindowsPath & "\Notepad.exe", "")

End Sub
Private Sub CmdAddDeskTop_Click()
'
在桌面創建記事本的快捷方式


Call OSfCreateShellLink("..\..\
桌面", "記事本", GetWindowsPath & "\Notepad.exe", "")

End Sub
Private Sub CmdAddProgram_Click()
'
在程式功能表的Notepad程式組下創建記事本的快捷方式


Call OSfCreateShellGroup("Notepad") '
先建立程式組


Call OSfCreateShellLink("Notepad", "
記事本", GetWindowsPath & "\Notepad.exe", "")

End Sub
Private Sub CmdAddStartMenu_Click()

Dim i As Long


For i = 1 To 5
'
在開始功能表創建記事本的快捷方式,必須用迴圈才能創建?

        

Call OSfCreateShellLink("..\..\
「開始」菜單", "記事本", GetWindowsPath & "\Notepad.exe", "")


Next

End Sub
   
Private Sub CmdQuickLaunch_Click()
'
在快捷列下創建記事本的快捷方式


Call OSfCreateShellLink("..\..\Application Data\Microsoft\Internet Explorer\Quick Launch", "
記事本", GetWindowsPath & "\Notepad.exe", "")

End Sub
Private Sub CmdDelAllLink_Click()

Call OSfRemoveShellLink("..\..\
「開始」功能表", "記事本")
'
刪除開始功能表上的快捷方式


Call OSfRemoveShellLink("..\..\
桌面", "記事本")

'
刪除桌面上的快捷方式


'Call OSfRemoveShellLink("Notepad", "
記事本")
'
刪除Notepad程式組下的快捷方式,這樣不能刪除程式組

   

Call RemoveShellGroup
'
刪除Notepad程式組下的快捷方式


Call OSfRemoveShellLink("\
啟動", "記事本")

'
刪除啟動功能表下的快捷方式


Call OSfRemoveShellLink("..\..\Application Data\Microsoft\Internet Explorer\Quick Launch", "
記事本")
'
刪除快捷列下的快捷方式

End Sub
Private Sub RemoveShellGroup()

On Error GoTo ToExit '
打開錯誤陷阱


'------------------------------------------------


'RmDir
刪除一個存在的目錄或檔夾。語法RmDir Path


'
必要的 path 參數是一個字串運算式,用來指定要刪除的目錄或檔夾。path 可以包含驅動器。如果沒有指定驅動器,則 RmDir 會在當前驅動器上刪除目錄或檔夾。


'
說明如果想要使用 RmDir 來刪除一個含有檔的目錄或檔夾,則會發生錯誤。在試圖刪除目錄或檔夾之前,先使用 Kill 語句來刪除所有檔。


Kill (GetProgarmPath(Me.hWnd) & "\Notepad\
記事本.lnk")


RmDir (GetProgarmPath(Me.hWnd) & "\Notepad")


'------------------------------------------------


Exit Sub


'----------------

ToExit:

Resume Next

End Sub
'模組代碼
Option Explicit
'-----------------------------------------------------
'
創建和刪除快捷方式

'-----------------------------------------------------
'
洪恩線上  求知無限

'-----------------------------------------------------
'------名稱-------------------作用--------------------
'
CmdAddStartup
"
創建啟動程式組快捷方式"

'
CmdAddDeskTop
"
創建桌面快捷方式"

'
CmdAddStartMenu
"
創建開始功能表快捷方式"

'
CmdAddProgram
"
創建程式組下的快捷方式"

'
CmdQuickLaunch
"
創建快捷列的快捷方式"

'
CmdDelAllLink
"
刪除所有快捷方式"

'-----------------------------------------------------
'要在VB中創建Windows的快捷方式,需要用到VB的一個動態連結程式庫
'Vb5stkit.dll。在該動態連結程式庫中提供了三個函數
'OSfCreateShellGroupOSfCreateShellLinkOSfRemoveShellLink
'分別用於創建快捷方式程式組、創建快捷方式和刪除快捷方式。
'-----------------------------------------------------
Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" _

Alias "fCreateShellFolder" (ByVal lpstrDirName As String) As Long

        
'lpstrDirName指定了程式組的名稱
'-----------------------------------------------------
Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" _

Alias "fCreateShellLink" (ByVal lpstrFolderName As String, _


ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As Long

        
'lpstrfoldername指定保存快捷方式的檔夾
'lpstrlinkname指定快捷方式的檔案名
'lpstrLinkpathe指定快捷方式所指向的應用程式或檔
'lpstrLinkArguments是程式運行所需的參數
'-----------------------------------------------------
Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias _

"fRemoveShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String) As Long

'獲取Windows目錄
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _

"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

'獲得檔夾路徑
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long
Private Const Max_Path = 260
'
緩衝區大小

Private ●CSOL木馬網站●L_PROGRAMS = &H2 '程式組常量
'*************************************************************************
'** 名: GetWindowsPath
'**    入:
'**    出: (String) -
'**功能描述: 得到Windows路徑
'**總體變數:
'**調用模組:
'**    期: 2006-09-19 19:49:17
'** 人:
'**    期:
'**    本: V1.0.0
'*************************************************************************
Public Function GetWindowsPath() As String

Dim ChrLen As Long, WinDir As String


WinDir = Space$(Max_Path)


ChrLen = GetWindowsDirectory(WinDir, Max_Path)


WinDir = Left$(WinDir, ChrLen)


GetWindowsPath = WinDir

End Function
'*************************************************************************
'** 名: GetProgarmPath
'**    入: frmHwnd(Long) -
'**    出: (String) -
'**功能描述: 獲取開始功能表程式組的路徑
'**總體變數:
'**調用模組:
'**    期: 2006-09-19 19:48:16
'** 人:
'**    期:
'**    本: V1.0.0
'*************************************************************************
Public Function GetProgarmPath(frmHwnd As Long) As String

Dim CSILD_NUM As Long, strBouff As String


strBouff = String$(Max_Path, 0)


SHGetSpecialFolderPath frmHwnd, strBouff, CSIDL_PROGRAMS, 0


GetProgarmPath = Left$(str●嚴禁張貼私服●ouff, Chr$(0)) - 1)

End Function
方法3
先引用系統堶掖ㄕ釭WSHom.Ocx
Option Explicit
'*************************************************************************
'** 名: SetAutoRun
'**    入: ByVal Autorun(Boolean) -
'**    出:
'**功能描述: WINDOWS自動啟動/取消啟動模組
'**總體變數:
'**調用方法: Call SetAutoRun(True/False)
'**    期: 2006-09-05 09:07:25
'** 人:
'**    期:
'**    本: V1.0.0
'*************************************************************************
Public Sub SetAutoRun(ByVal Autorun As Boolean)
   

'WshShell
對象


'ProgId Wscript.Shell


'
檔案名 WSHom.Ocx

   

Dim WshShell As WshShell

   

Set WshShell = CreateObject("Wscript.Shell")

   

If Autorun Then


WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe"



Else


WshShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName


End If

   

Set WshShell = Nothing



End Sub
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


Goldenwolf 當前離線
UID
1166302
熱心
75 值
嘉獎
0 次
違規
0 次
在線時間
17 小時
經驗
75 點
積分
426
精華
0
最後登錄
2009-10-8
閱讀權限
25
註冊時間
2009-3-28
論壇幣
259 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
Goldenwolf 2009-4-1 09:24:01
有註解耶 不過這功用是做什麼的?感謝大大分享!!
回覆

使用道具 舉報

josh777598 當前離線
UID
446105
熱心
229 值
嘉獎
0 次
違規
0 次
在線時間
94 小時
經驗
229 點
積分
229
精華
0
最後登錄
2010-1-17
閱讀權限
25
註冊時間
2007-7-17
論壇幣
1535 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
josh777598 2009-7-6 20:38:13
謝謝大大分享
雖然密密麻麻的
但是有註解
YCT12B
回覆

使用道具 舉報

幻十狼 當前離線
UID
960480
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
8 小時
經驗
35 點
積分
74
精華
0
最後登錄
2015-6-1
閱讀權限
20
註冊時間
2008-7-31
論壇幣
12 幣
聯合幣
3 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
幻十狼 2009-7-25 21:40:58
感謝大大分享YCT46B
回覆

使用道具 舉報

jaydiy 當前離線
UID
1140322
熱心
50 值
嘉獎
0 次
違規
0 次
在線時間
17 小時
經驗
54 點
積分
54
精華
0
最後登錄
2009-12-16
閱讀權限
20
註冊時間
2009-2-22
論壇幣
533 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
5
jaydiy 2009-8-2 18:05:16
有中文註解真好~不過還在理解中 YCT65B
                              
希望大大繼續發表更好的教學~謝謝
回覆

使用道具 舉報

隨火 當前離線
UID
1294953
熱心
214 值
嘉獎
0 次
違規
0 次
在線時間
6 小時
經驗
14 點
積分
14
精華
0
最後登錄
2011-4-5
閱讀權限
10
註冊時間
2009-8-20
論壇幣
78 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
6
隨火 2009-9-1 09:45:07
太厲害了
沒想到還有這種東西
謝謝你無私的分享
回覆

使用道具 舉報

173ch 當前離線
UID
1437534
熱心
22 值
嘉獎
0 次
違規
0 次
在線時間
1 小時
經驗
22 點
積分
22
精華
0
最後登錄
2010-4-4
閱讀權限
20
註冊時間
2010-4-4
論壇幣
35 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
7
173ch 2010-4-4 21:59:52
謝謝大大分享!!
這很實用喔!!YCT55B
回覆

使用道具 舉報

xFQOu29U 當前離線
UID
1281514
熱心
22 值
嘉獎
0 次
違規
0 次
在線時間
9 小時
經驗
22 點
積分
101
精華
0
最後登錄
2016-3-11
閱讀權限
20
註冊時間
2009-7-31
論壇幣
45 幣
聯合幣
3 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
8
xFQOu29U 2010-11-11 09:58:29
感謝大大分享~
可惜沒有專案檔下載.不然就更完美了
回覆

使用道具 舉報

夏天終極鐵克人 當前離線
UID
1423233
熱心
142 值
嘉獎
0 次
違規
0 次
在線時間
27 小時
經驗
146 點
積分
146
精華
0
最後登錄
2011-5-22
閱讀權限
20
註冊時間
2010-3-9
論壇幣
528 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
42 點
查看詳細資料
Rank: 2Rank: 2
9
夏天終極鐵克人 2010-11-20 10:46:24
有點看不太懂~~
好吧我繼續研究..

11/7抽到的= = 無意間就這麼的爽抽到= =
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-9-20 19:40 , Processed in 0.065328 second(s), 16 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?