标题:初学汇编,写了个自动关闭QQ迷你首页的小程序
只看楼主
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
结帖率:100%
 问题点数:0 回复次数:28 
初学汇编,写了个自动关闭QQ迷你首页的小程序
我有3个QQ,每天都要登录,可是登录后,"腾讯网迷你首页"就会自动弹出,干扰了我的心情(呵呵~~只有会员才免遭此罪哦).于是,我编写了个程序:在10分钟内主动查找"腾讯网迷你首页",发现就把它关掉,不给它弹出的机会!于是,世界开始宁静了... ...10分钟后,这个小程序又自动退出了.
以下是代码(已测试),希望大家批评指正:

;用定时器定时查找QQ迷你窗口,找到后就关闭它;
;如果10分钟内没有找到,则自动退出.
;作者:ONEPROBLEM
;===========================================
        .386
        .model flat,stdcall
        option casemap:none

include        windows.inc
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib

ID_TIMER equ    1
ICO_MAIN    equ    1
DLG_MAIN    equ    1
IDC_COUNT    equ    100

        .data?
hInstance    dd    ?
hWinMain    dd    ?
idTimer        dd    ?

        .const
szCaption    db    '腾讯网迷你首页',0
;========================================================
        .code
_ProcTimer    proc    _hWnd,uMsg,_idEvent,_dwTime    ;定时器过程
        
        pushad
        invoke    GetDlgItemInt,hWinMain,IDC_COUNT,NULL,FALSE
        sub    eax,1
        .if    eax == 0    ;倒计时为0,则程序退出
            invoke SendMessage,hWinMain,WM_CLOSE,0,0
        .endif
        invoke    SetDlgItemInt,hWinMain,IDC_COUNT,eax,FALSE
        popad
        ret
_ProcTimer    endp
;====================================================================
_ProcDlgMain    proc    uses ebx edi esi,hWnd,uMsg,wParam,IParam

        mov    eax,uMsg
        
        .if    eax == WM_TIMER
            mov    eax,wParam
            .if    eax == ID_TIMER
            invoke    FindWindow,NULL,addr szCaption  ;查找QQ首页
                .if    eax
                    mov    hWnd,eax
                    invoke    SendMessage,hWnd,WM_CLOSE,0,0
                .endif
            .endif
            
        .elseif    eax == WM_INITDIALOG
            push    hWnd
            pop    hWinMain
            invoke    LoadIcon,hInstance,ICO_MAIN
            invoke    SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
            
            invoke    SetTimer,hWnd,ID_TIMER,3000,NULL  ;每3秒钟就查找一次
            invoke    SetTimer,NULL,NULL,1000,addr _ProcTimer
            mov    idTimer,eax
        
        .elseif    eax == WM_CLOSE
            invoke    KillTimer,hWnd,ID_TIMER
            invoke    KillTimer,NULL,idTimer
            invoke    EndDialog,hWnd,NULL
            
        .else
            mov    eax,FALSE
            ret
        .endif
        mov    eax,TRUE
        ret
_ProcDlgMain    endp
;=============================================================
start:
        invoke    GetModuleHandle,NULL
        mov    hInstance,eax
        invoke    DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
        invoke    ExitProcess,NULL
        
        end    start


;===================================================================================
;===================================================================================
;以下是.RC文件:
#include        <resource.h>

#define    DLG_MAIN    1    //对话框
#define    ICO_MAIN    1
#define    IDC_COUNT    100

ICO_MAIN ICON        "1.ico"

DLG_MAIN DIALOG    50,50,120,60
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION    "守候者 SH1.0"
FONT    14,"宋体"
{
  LTEXT "说明:1、这个小工具可以帮你\n关掉烦人的腾讯网迷你首页;",-1,8,5,100,22
  LTEXT "2、程序将在10分钟后自动关闭。",-1,8,22,100,22
  LTEXT    "倒计时:",-1,30,43,35,10
  LTEXT    "600",IDC_COUNT,60,43,15,10
  LTEXT "秒",-1,75,43,10,10
}

[[it] 本帖最后由 ONEPROBLEM 于 2008-7-13 11:11 编辑 [/it]]

[[it] 本帖最后由 ONEPROBLEM 于 2008-7-13 21:35 编辑 [/it]]

CloseQQ.rar (3.91 KB)
搜索更多相关主题的帖子: 首页 初学 汇编 自动 
2008-07-11 20:51
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
挺实用  支持下   要是打个包就好了 呵呵
2008-07-12 16:42
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
得分:0 
学习学习. 这个题目可以当成汇编定时器部分的习题
2008-07-13 02:07
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
得分:0 
谢谢大家的关注,使我增强了学习汇编的动力。
包我已经打好了,欢迎下载,并修改完善。
2008-07-13 11:13
benyu1107
Rank: 1
来 自:桂林
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-4-24
得分:0 
顶!
2008-07-13 12:13
yanging5161
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-5-12
得分:0 
不错
2008-07-15 02:25
xujun1207
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-7-15
得分:0 
顶,什么时候我也能自己编个小程序呀……
2008-07-15 16:16
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
得分:0 
俺刚学汇编,看不懂,还是要看一下
2008-07-15 20:38
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
得分:0 
回复 7# xujun1207 的帖子
一个月之前,我也是这么想的呀.
其实,只要每天都去积累,你就会发现,有一天,自己也成了别人要羡慕的水平.
说真的,我觉得自己还没入门呢.
2008-07-15 22:48
nieshen
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-11-9
得分:0 
回复 9# ONEPROBLEM 的帖子
虽然不怎么用汇编,还是要顶,支持原创.
2008-07-16 10:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-223555-1-1.html




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

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