| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1425 人关注过本帖, 1 人收藏
标题:vfp 如何设置程序开机自启以及关闭开机自启?
只看楼主 加入收藏
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
结帖率:96.03%
收藏(1)
已结贴  问题点数:20 回复次数:6 
vfp 如何设置程序开机自启以及关闭开机自启?
请问如何用代码修改注册表,现实开机自启;以及如何关闭开机自启。(比如程序:e:\xs.exe)
搜索更多相关主题的帖子: vfp 开机 关闭 现实 exe 
2018-02-26 20:25
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
注册表的常用Run键
......\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
XP的系统菜单还有个启动(startup)目录:C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
2018-02-27 05:27
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
回复 2楼 吹水佬
#define HKEY_LOCAL_MACHINE    2147483646
*在WindowsAPI编程中,HKEY—LOCAL—MACHINE 被预置为0x80000002,即十进制的-2147483646
clear menu all
set sysme off
Declare Integer RegSetValue In Win32API integer nHkey,STRING cSubKey, integer dwType,string@ lpDatainteger,integer@ count
newValue="e:\小精灵\小精灵.exe"
i=len(newValue)
nResult=RegSetValue(HKEY_LOCAL_MACHINE,"Software\Microsoft\windows\CurrentVersion\run",1,@newvalue,@i)
if nResult#0
wait wind "修改注册表失败!"
endi

&&以上是收集自网上的代码,没测试成功。帮助分析一下!
2018-02-27 10:24
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 3楼 su0527
简单试了一下(XP、WIN10)
** HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
#DEFINE HKEY_CURRENT_USER    -2147483647

DECLARE LONG RegOpenKey IN Advapi32 LONG, STRING@, LONG@
DECLARE LONG RegCloseKey IN Advapi32 LONG
DECLARE LONG RegSetValueEx IN Advapi32 LONG, STRING@, LONG, LONG, STRING@, LONG

LOCAL cFileName, hKey
cFileName = "C:\temp\test.exe"
hKey = 0
IF RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", @hKey)==0
    RegSetValueEx(hKey, "test", 0, 1, cFileName, LEN(cFileName))
    RegCloseKey(hKey)
ENDIF
2018-02-27 15:35
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
收藏
得分:0 
回复 4楼 吹水佬
设置后,如何取消开机自启,也就是复原。
2018-02-27 18:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:20 
以下是引用su0527在2018-2-27 18:34:36的发言:

设置后,如何取消开机自启,也就是复原。

取消可以用RegDeleteValue直接删除掉
** HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
#DEFINE HKEY_CURRENT_USER    -2147483647

DECLARE LONG RegOpenKey IN Advapi32 LONG, STRING@, LONG@
DECLARE LONG RegCloseKey IN Advapi32 LONG
DECLARE LONG RegSetValueEx IN Advapi32 LONG, STRING@, LONG, LONG, STRING@, LONG
DECLARE LONG RegDeleteValue IN Advapi32 LONG, STRING@

**    IF myStartup("test", "C:\temp\test.exe")
**        ? "设置成功"
**    ENDIF

IF myStartup("test")
    ? "取消成功"
ENDIF


FUNCTION myStartup(cValName, cFileName)
    LOCAL hKey, ret
    hKey = 0
    ret = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", @hKey)==0
    IF ret
        IF !EMPTY(cFileName)
            ret = FILE(cFileName)
            IF ret
                ret = RegSetValueEx(hKey, cValName, 0, 1, cFileName, LEN(cFileName))==0
            ENDIF
        ELSE
            ret = RegDeleteValue(hKey, cValName)==0
        ENDIF
        RegCloseKey(hKey)
    ENDIF
    RETURN ret
ENDFUNC
2018-02-27 21:41
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
这个不错!用得到!
2018-08-07 23:20
快速回复:vfp 如何设置程序开机自启以及关闭开机自启?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.095201 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved