| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9838 人关注过本帖, 4 人收藏
标题:初学汇编,写了个自动关闭QQ迷你首页的小程序
取消只看楼主 加入收藏
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
结帖率:100%
收藏(4)
 问题点数:0 回复次数:4 
初学汇编,写了个自动关闭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
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
谢谢大家的关注,使我增强了学习汇编的动力。
包我已经打好了,欢迎下载,并修改完善。
2008-07-13 11:13
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
回复 7# xujun1207 的帖子
一个月之前,我也是这么想的呀.
其实,只要每天都去积累,你就会发现,有一天,自己也成了别人要羡慕的水平.
说真的,我觉得自己还没入门呢.
2008-07-15 22:48
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]无理取闹[/un] 在 2008-8-23 22:11 的发言:[/bo]

这些曾经的爱好 现在都荒废了

时过境迁,许多事情总是要变化的。人往高处走嘛~~汇编确实可以修习内力,内力足了就是闯荡天下的时候了~~
不像我,老是菜菜的长不大,只能在这些小程序上玩玩而已了~~~
2008-08-24 22:37
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]imur02[/un] 在 2008-10-13 02:56 的发言:[/bo]

楼主高手啊!我现在刚刚学汇编,头都大,佩服!!!!
有个问题请教一下:
ID_TIMER    equ    1
ICO_MAIN    equ    1
DLG_MAIN    equ    1
IDC_COUNT    equ    100
这几个东东应该是数据段的吧,为什么没有加.data在上面呢?请教请教!谢 ...

等值预定义,相当于C语言中的"宏定义".
2008-10-13 09:03
快速回复:初学汇编,写了个自动关闭QQ迷你首页的小程序
数据加载中...
 
   



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

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