程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 使用定時器,記事本自動保存程序

使用定時器,記事本自動保存程序

編輯:.NET實例教程
以記事本為例,每5s鐘保存一次正在編輯的文檔
 ;很簡單也很有用
;記事本自動保存程序,使用 fasm 編譯通過
format pe console
entry start
 
include "Win32AXP.inc"
 
start:
 invoke SetTimer,NULL,0,5000,TimerProc;每隔5000ms調用一次 TimeProc  函數
 mov [TimerID],eax
@@:
 invoke GetMessage,lpMsg,NULL,0,0;
 test eax,eax
 je @f
 invoke TranslateMessage,lpMsg
 invoke DispatchMessage,lpMsg
 jmp @b
@@:
 invoke KillTimer,NULL,[TimerID]
 ret
 
TimerProc:
 invoke FindWindow,'notepad',NULL ;找到記事本窗口的HANDLE
 test eax,eax
 je @f
 invoke SendMessage,eax,WM_COMMAND,3,0;發送 WM_COMMAND 保存文件消息
@@:
 ret
 
data import
 library user32,"user32.dll"
 import user32,\
  SetTimer,'SetTimer',\
  KillTimer,'KillTimer',\
  StdIn,'StdIn',\
  FindWindow,'FindWindowA',\
  wsprintf,'wsprintfA',\
  StdOut,'StdOut',\
  GetMessage,'GetMessageA',\
  DispatchMessage,'DispatchMessageA',\
  TranslateMessage,'TranslateMessage',\
  SendMessage,'SendMessageA'
end data
 
lpMsg MSG
TimerID rd 1
buffer rb 40h 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved