首页
社区
课程
招聘
[旧帖] [求助]win32中如何让程序在开机时就自动运行起来 0.00雪花
发表于: 2011-10-17 13:27 1719

[旧帖] [求助]win32中如何让程序在开机时就自动运行起来 0.00雪花

2011-10-17 13:27
1719
win32中如何让程序在开机时就自动运行起来
比如如下程序:一个禁止QQ游戏运先的程序

;>>>>>>于2011年10月16日晚作:路独行
;>>>程序功能是发现QQ游戏就马上关闭。此程序运行半小时自动退出。
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib kernel32.lib
includelib user32.lib
.data
ClassCaption db "QufPanelWnd",0
szCaption db '启动',0
szText db '欢迎你使用',0
szText1 db '腾讯公司系统正在维护',0ah,0dh,'请关闭QQ游戏',0
szText2 db '重要提示',0
.data?
_Count dd ?
hWnd dd ?
.code
;>>>>>关闭监查的窗口
_FindQQ Proc
        LOCAL @hWnd:dword
        ;pushad
        inc _Count
        invoke FindWindow,addr ClassCaption,0
        push eax       
        .if eax != 0
                invoke MessageBox,NULL,offset szText1,offset szText2,MB_OK
                pop eax
                invoke SendMessage,eax,WM_CLOSE,0,0
               
        .endif
        ;popad       
        ret

_FindQQ endp
;>>>创建时钟,建立消息循环
_CloseQQgame proc
       
        LOCAL @stMsg : MSG
        pushad
        mov _Count,1
        invoke SetTimer,0,0,5000,addr _FindQQ ;>>每5秒自己检查有没有QQ运行
        mov hWnd,eax
        .While TRUE       
        .break .if _Count > 1000 ;运行半小时1800秒/5秒=360个5秒等半小时
        invoke GetMessage,addr @stMsg,0,0,0
        invoke TranslateMessage,addr @stMsg
        invoke DispatchMessage,addr @stMsg       
        .endw
        invoke KillTimer,NULL,hWnd
        popad       
        ret

_CloseQQgame endp
;>>>>>程序的入口地址
start:
        invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
        invoke _CloseQQgame
        invoke ExitProcess,NULL
end start
请斑竹们指点

[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 343
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
没看出这个程序可以开机自启动。开机自启动的办法有很多种,如写注册表、创建服务等。
2011-10-17 16:58
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个程序没有自动的程序,请高手帮忙解决
2011-10-17 17:27
0
雪    币: 256
活跃值: (25)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
你可以选择手动修改注册表来实现程序的开机自运行,而不用专门写一段程序。
2011-10-18 13:07
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主的意思不太明白,让程序能开机运行的模块放在程序里吗,还是做一个安装程序,让安装程序把本程序加到开机启动项目下。其实还可以在程序中做一个模块,就是检测本程序是否在启动项下,不在的话加入,已经在的话就继续。不过这样的话自己的机子还好说,如果是别人的机子你乍样才能骗他第一次运行这个程序呢
2011-10-18 15:40
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
问题解决了。。我写出来了程序 谢谢大家的建议
2011-10-18 23:49
0
游客
登录 | 注册 方可回帖
返回