#include <windows.h>
void write()
{ unsigned char ch[100]
char ch1[300] = "程序的路径" //要写入的内容
HKEY hkey=HKEY_LOCAL_MACHINE
strcpy((char*)ch,ch1)
if(RegOpenKeyEx(hkey,"SOFTWARE\\Microsoft\\Windows\型罩\CurrentVersion\\Run", //要写人的键值族培
NULL,KEY_ALL_ACCESS,&hkey)==ERROR_SUCCESS)
{
RegSetValueEx
(hkey,
"CMM",
NULL,
REG_SZ,
ch,
100
)
}
}
int main()
{
write()
return 0
}
把write的<程序路径>改成你要开机启动的程序路径兆租唯就OK
最好用ShellExecutePrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As VbAppWinStyle) As Long
Private Sub command1_click()
ShellExecute hwnd, "open", "notepad.exe", "c:\boot.ini", "c:\", vbMaximizedFocus '最大化
End Sub
hwnd ----------- Long,指定一个窗口的句柄
lpOperation ---- String,指定字滚岁滚串“open”来打开lpFlie文档,或指定“Print”来打印它
lpFile --------- String,想用雀败关联程序打印或打开一个程序名或文件名
lpParameters --- String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
lpDirectory ---- String,想使用的完整路径
nShowCmd ------- Long,定义大余了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数
1、可以使用相对路径。如果是自者唯己编写的程序,你就知道它的相对胡嫌困位置。App.Path 指当前运行的程序路径,如果其他程序与当前运行的程序路径相同,那么就用 Shell App.Path &"\*.exe" 调用。如果其他程序在当前运行的程序路径的子文件夹中,那么就用 Shell App.Path &"\[ChildFolderName]\*.exe" 调用。如果其他程序在当前运行的程序路径上级。那么就必须将 App.Path 中最后的几级文件夹名称删除。
2、对于其他公司开发的程序,如果程序在注册表中注册了,就访问注册表从中获得程序的位置。有些软件在注册表里注册了,注册的路径如下所示(你在开始—裤念运行里,或者开始菜单的搜索栏里输入regedit回车,就可以打开注册表了)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
可以看到注册了哪些程序,你可以仿照已经有的项来添加自己想要能直接启动的程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)