一个vb程序可否在安装在98上以后每当系统启动时,就执行它?

xyz2000 2000-07-02 02:12:00
一个vb程序可否在安装在98上以后每当系统启动时,就执行它?
一般是将这个程序添加到"自动"目录中,可否在编写程序时就考虑这一点?
...全文
277 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
haor 2001-02-11
  • 打赏
  • 举报
回复
在安装程序里把启动程序写到注册表里,上面的几位都说了位置了
安装程序用installshield,有点像C语言,你要怎么写都可以。
eagleldj 2001-02-11
  • 打赏
  • 举报
回复
我知道的有三种方法:
1.将程序加在"启动"组中。
2.将程序加在win.ini的run中
3.将程序加在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
中。例如:
Private Const REG_SZ = 1
Private Const HKEY_LOCAL_MACHINE = &H80000002
'声明API函数
Private 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
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long


Function AutoRun(AutoName As String, filename As String)
Dim hKey As Long
RegOpenKey HKEY_LOCAL_MACHINE, "Software\Microsoft\windows\CurrentVersion\Run", hKey
RegSetValueEx hKey, AutoName, 0, REG_SZ, ByVal filename, Len(filename)
RegCloseKey hKey
End Function

autoname为你起的名字,filename可以这样得到:
filename = App.path
If Right(filename, 1) <> "\" Then filename = filename + "\"
filename = Chr(34) + filename + [你的程序名]+ Chr(34)
eagleldj 2001-02-11
  • 打赏
  • 举报
回复
我知道的有三种方法:
1.将程序加在"启动"组中。
2.将程序加在win.ini的run中
3.将程序加在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
中。例如:
Private Const REG_SZ = 1
Private Const HKEY_LOCAL_MACHINE = &H80000002
'声明API函数
Private 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
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long


Function AutoRun(AutoName As String, filename As String)
Dim hKey As Long
RegOpenKey HKEY_LOCAL_MACHINE, "Software\Microsoft\windows\CurrentVersion\Run", hKey
RegSetValueEx hKey, AutoName, 0, REG_SZ, ByVal filename, Len(filename)
RegCloseKey hKey
End Function

autoname为你起的名字,filename可以这样得到:
filename = App.path
If Right(filename, 1) <> "\" Then filename = filename + "\"
filename = Chr(34) + filename + [你的程序名]+ Chr(34)
cjlong 2000-07-03
  • 打赏
  • 举报
回复
meijg的方法是最简单、通用的。kv300、爱虫都是也是这样赶的。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


TopHead 2000-07-02
  • 打赏
  • 举报
回复
在设计时考虑是什么意思,可以在程序安装时实现啊!
pubin 2000-07-02
  • 打赏
  • 举报
回复
将你的程序加在计划与任务中,
bamboo 2000-07-02
  • 打赏
  • 举报
回复
也可以在安装时把你的程序放到"启动"组里去,而且这样更易于使用者控制。只不过要注意不同的系统(Win9X、WinNT)、不同的语言"启动"组的位置可能不一样。
suduan 2000-07-02
  • 打赏
  • 举报
回复
修改注册表.
xyz2000 2000-07-02
  • 打赏
  • 举报
回复
程序本身在设计时考虑这一点,能实现吗?
s37 2000-07-02
  • 打赏
  • 举报
回复
加在启动里就可以
或者改一下注册表
meijg 2000-07-02
  • 打赏
  • 举报
回复
如何将你的程序放在windows启动中:
      有时需要让windows在启动时自动运行你的程序,如何在程序中实现呢?

    使用regedit查找hkey_localmachine\sodtware\microsoft\windows\currentversion\run,你会发现所有的windows启动时调用的程序都在这里,于是你将你的程序增加在这里就可以了.名称为你的程序的标题,其值为你的程序的执行路径和文件名称.

    如interbase:
     interbase server"d:\program files\borland\intrbase\bin\ibserver.exe"
 

    在程序中实现可以使用treginifile或者使用tregistry都可以.

    user registry;

    var
        regf:tregistry;
    begin
         regf:=tregistry.create;
         regf.rootkey:=hkey_local_machine;
        try
              regf.openkey('software\microsoft\windows\currentversion\run',true);
              regf.writestring('interbase server',
                                    '"d:\program files\borland\intrbase\bin\ibserver.exe"');
               except
                    ...
                end;
                regf.close;
                regf.free;
    end;


meijg 2000-07-02
  • 打赏
  • 举报
回复
在程序里写注册表,加在下面的项里HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧