回 帖 发 新 帖 刷新版面

主题:分享个经验: 开机自动运行

才疏学浅,遇到些问题暂时解决了,分享一下而已,不正之处望大家指导...

这个是拿来主义得到的,就是设置程序自动运行用的:

#Define hkey_local_machine         -2147483646
#Define reg_sz                     1
Declare integer RegOpenKey in Win32API;
    integer nKey,string @cSubKey,integer @nHandle
Declare integer RegSetValueEx in Win32API;
    integer nKey, string cValueName, integer nReserved,;
    integer nType, string cBuffer, integer nBufferSize
Declare integer RegCloseKey in Win32API integer nKey
lnhandle=0
= regopenkey(hkey_local_machine,"Software\Microsoft\Windows\CurrentVersion\Run",@lnhandle)
= regsetvalueex(lnhandle,"jqc",0,reg_sz,"路径+程序名",len("路径+程序名"))
= regclosekey(lnhandle)
Return

我遇到的一些问题:

xp启动后,程序自动运行,但会发生“文件路径错误”的提示,究其原因,原来是 form.init里使用了Sys(5)+Sys(2003)设置默认路径,一般上这样使用是没有问题的,但在电脑启动的时候,这个语句得到的结果并不是“程序名”的根目录,而是临时文件目录,所以默认路径要用fullpath()

LEFT(FULLPATH('main.scx'),RAT('\',FULLPATH('main.scx')))


另外,请教各位:

如何取得编译好的“程序”文件名?编译好的程序,如果改名后就运行不正确了,所以需要取得其名称,谢谢各位了。

回复列表 (共5个回复)

沙发

fullpath(sys(16))

自动运行,我一般是弄个快捷方式放启动目录去,方便管理,顺便鄙视一下360.

板凳

老大,fullpath(sys(16))的结果依然不是编译的可执行文件名

3 楼

我是用的360,既然存在360,当然也要兼容360了,没办法

4 楼

把它放主程序去,就是编译后的可执行文件名.
把它放窗体去,就是窗体名.

5 楼

哦,原来是这个道理

我来回复

您尚未登录,请登录后再回复。点此登录或注册