導航:首頁 > 編程語言 > win32api編程實例

win32api編程實例

發布時間:2022-07-14 23:45:11

① Win32 API 文件剪切板編程

把HANDLE改為HINSTANCE式下。

② win32 api編程

首先你要習慣這么多的參數,其次現在並不是直接調用這些API,比如,你可以從MFC入手或者WTL入手,但是,那麼多參數,還是沒法減少的,也是那麼多的參數,不用擔心,看習慣了就好了

③ win32 api和MFC編程的標准頭文件和主函數是什麼啊

MFC編程:http://images.163.com/images/it/books/vc/chap2/chap2_4.htm

MFC編程里用的標准頭文件#include <afxwin.h>
Win32 大多數API,用 #include <windows.h>
mfc都給封裝起來了,所以自己不用寫
mfc程序的主函數是這樣的,在appmole.cpp裡面
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
//簡單的mfc
//hello.cpp

#include <afxwin.h>

// Declare the application class
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};

// Create an instance of the application class
CHelloApp HelloApp;

// Declare the main window class
class CHelloWindow : public CFrameWnd
{
CStatic* cs;
public:
CHelloWindow();
};

// The InitInstance function is called each
// time the application first executes.
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}

// The constructor for the window class
CHelloWindow::CHelloWindow()
{
// Create the window itself
Create(NULL,
"Hello World!!",
WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));
// Create a static label
cs = new CStatic();
cs->Create("hello world",
WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(50,80,150,150),
this);
}

Windows程序的主函數:這個函數就像我們學習C語言時程序的主函數main()的功能是一樣的,他代表了程序的入口。但是這個函數看上去比main()似乎繁的多,如果是第一次看見這個函數肯定會感覺一頭霧水,但是不要緊我們來看看這個函數各個參數的意義,(其實開始的時候完全可以不理會他們的意義)hInstance是本實例的句柄,句柄可以理解為操作系統管理使用我們的應用程序的別名,它跟指針類似但又不同於指針,它的意義只有操作系統知道,也就是說操作系統通過hInstance就可以找到我們現在的這個程序。hPrevInstance是前一個實例的句柄。szCmdLine:是命令行參數,iCmdShow是窗口的顯示方式。現在我們沒有必要清除每個參數的具體意義,在接下來的學習中我們用的最多的就是hInstance這個參數,但也不多,而且我們使用vc++時,無論有哪種程序生成方式這個函數一般都會自動生成。

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)

http://huihua.hebtu.e.cn/hhcmc/study/program1/program/program.htm

④ 如何用Win32 API進行並口通信編程

在工程中添加parallelport.cpp文件,並在任何要調用這個類的模塊中#include parallelport.h文件。
你的代碼必須支持MFC框架,可以靜態鏈接,也可以是動態鏈接。
最好將afxtempl.h添加到預編譯頭中,以便提高編譯速度。

⑤ WIN32 API編程,說是兩個無法解晰的外部命令

#include<windows.h>
#include<stdio.h>

LRESULTCALLBACKWinProc(
HWNDhwnd,
UINTuMsg,
WPARAMwParam,
LPARAMlParam
);
intWINAPIWinMain(
HINSTANCEhInstance,
HINSTANCEhPrevInstance,
LPSTRlpCmdLine,
intnCmdShow
)
{
WNDCLASSwndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);
wndclass.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WinProc;
wndclass.lpszClassName="lesson1";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wndclass);

HWNDhwnd;
hwnd=CreateWindow("lesson1","MFC課程1",0,0,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);

MSGmsg;
while(GetMessage(&msg,NULL,0,0)!=0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return0;

}
LRESULTCALLBACKWinProc(
HWNDhwnd,
UINTuMsg,
WPARAMwParam,
LPARAMlParam
)
{
switch(uMsg)
{
caseWM_CHAR:
charclik[20];
sprintf(clik,"輸入字元為%d",wParam);
MessageBox(hwnd,clik,"lesson1",MB_OK);
break;
caseWM_LBUTTONDOWN:
MessageBox(hwnd,"單擊操作","提示",MB_OK);
HDChdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,0,"這是第一次WIN32API編程",strlen("這是第一次MFC編程"));
ReleaseDC(hwnd,hdc);
break;
caseWM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的退出?","lesson1",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);

}
return0;
}

聲明了兩個winproc函數,實現一個。另外,一些拼寫和函數使用錯誤。

⑥ Win32 API是什麼啊怎麼用

API是Application Programming Interface的縮寫,即應用程序介面,它是由Win32操作系統提供給程序員的一系列函數介面的集合,這些函數可以對計算機系統進行各種各樣的操作,比如創建窗口、描繪圖形、使用周邊設備等等,它們猶如「積木塊」一樣,可以搭建出各種界面豐富,功能靈活的應用程序。所以可以認為API函數是構築整個WINDOWS框架的基石,在它的下面是WINDOWS的操作系統核心,而它的上面則是所有的華麗的WINDOWS應用程序。Win32系統負責實現API函數,為我們的程序控制計算機搭建一座便捷的橋梁。
我們常用的VC中的MFC庫(微軟基礎類庫)就是Visual Sudio集成開發環境為我們提供的以面向對象方式對Win32 API的封裝,無論我們是否使用了MFC庫,只要是開發Win32程序歸根結底都要調用Win32 API。
Windows API包括幾千個可調用的函數,它們大致可以分為以下幾個大類:基本服務、組件服務、用戶界面服務、圖形多媒體服務、消息和協作、網路、Web服務。這么多函數全部記住當然不可能,也沒必要,如上所述,集成開發環境開發環境提供的類庫和控制項封裝了大部分的API函數,且易學易用,極大地減少了Windows程序員的工作量,當然即使這樣,為了使程序代碼簡潔及效率高,我們的程序往往偶爾還需要直接調用Win32 API,所以我們還是需要適當的記住一些完成某些常用功能的API函數名,用法參數可以不記,因為可以現用現查。
至於MSDN,它是開發文檔,使用它可以方便地查詢Win32 API的功能、使用方法。

⑦ WIN32 API 編程:創建子窗口(編輯控制項 EDIT)後通過菜單選項改變子窗口控制項 樣式

Windows 記事本就是類似你這樣的窗口,有一個自動換行的選項。事實上你用 SetWindowLong 改變樣式確實是無效的,我也試過。應該是需要重新創建該控制項的。

閱讀全文

與win32api編程實例相關的資料

熱點內容
解壓的玩具教程可愛版 瀏覽:364
哪個求職app比較靠譜 瀏覽:886
java的讀法 瀏覽:59
nod32區域網伺服器地址 瀏覽:1002
數碼科技解壓 瀏覽:235
新網的雲伺服器管理界面復雜嗎 瀏覽:367
無人聲解壓強迫症視頻 瀏覽:571
計算機編譯運行 瀏覽:639
單片機嵌套 瀏覽:988
python字元串中符號 瀏覽:787
python正則表達式貪婪模式 瀏覽:648
愛國精神指的是什麼app 瀏覽:408
壽司解壓系列全集視頻 瀏覽:913
物體三維重建演算法 瀏覽:984
fuli直播app哪個好 瀏覽:918
租辦公室用什麼app 瀏覽:106
醫師定期考核刷題app哪個好 瀏覽:338
導出dmp文件命令 瀏覽:288
手機百度網盤怎麼解壓密碼文件 瀏覽:585
索引重新編譯 瀏覽:606