?? 1.5kvc.txt
字號:
////////////////////////////////////////////////////////////////////////////////////////////////////
//預處理
#include <Windows.h>
#include "stdafx.h"
//使用了下面的預處理,編譯連接時必須是 Release 方式,否則不能通過
//自定義程序入口,如果要優化,推薦使用這個
//如果使用 VS.NET,也可以這樣設置:在“解決方案管理器”里選定項目,右擊,選擇“屬性”->“鏈接器”->“高級”->“入口點”
//VC 6里面也有類似的設置,但具體不記得了
//項目屬性的其它設置可以仔細看看,其它優化也都在這里可以設置
#pragma comment(linker, "/ENTRY:EntryPoint")
//下面是調整段對齊,默認是 4K,在 Win98 下能更快地裝入 PE 文件,但會增加 PE 文件的大小
//下面這一行在這里好像會說是“無效的指令”什么的,故在這里也注釋掉了,也許是段太小的原因吧。
//直接在工程選項里面設置:項目“屬性”->“鏈接器”->“優化”->“Windows98 優化”->“否 (/OPT:NOWIN98)”
//#pragma comment(linker, "/OPT:NOWIN98")
//下面的優化是段合并,不推薦使用,在很多程序里也許也許不能使用
#pragma comment(linker, "/SECTION:MiniPE,") //創建自定義的 MiniPE Section
#pragma comment(linker, "/MERGE:.data=MiniPE") //合并.data Section 到 MiniPE Section
#pragma comment(linker, "/MERGE:.text=MiniPE") //合并.text Section 到 MiniPE Section
#pragma comment(linker, "/MERGE:.rdata=MiniPE") //合并.rdata Section 到 MiniPE Section
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//全局變量
HWND g_hWnd; //主窗口句柄,一般程序中經常用到此變量,故使用全局變量
HINSTANCE g_hInst; //應用程序進程句柄,一般程序中經常用到此變量,故使用全局變量
const char c_szAppName[] = "MiniPE";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//函數聲明
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow);
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//入口函數
//使用我們自己的入口函數,而不用連接器默認提供的一大堆程序初始化操作的代碼
//為了在一個普通的 Win32SDK 程序里能使用這種方法,下面的函數將調用 WinMain() 函數,并給出相應的參數
void EntryPoint()
{
ExitProcess(WinMain(GetModuleHandle(NULL), NULL, GetCommandLine(), SW_SHOWNORMAL));
}
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//主函數
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow)
{
MSG sMsg;
WNDCLASSEX sWndClassEx;
g_hInst = hInstance;
sWndClassEx.cbSize = sizeof(WNDCLASSEX);
sWndClassEx.style = CS_VREDRAW | CS_HREDRAW;
sWndClassEx.lpfnWndProc = (WNDPROC) WindowProc;
sWndClassEx.cbClsExtra = 0;
sWndClassEx.cbWndExtra = 0;
sWndClassEx.hInstance = g_hInst;
sWndClassEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
sWndClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
sWndClassEx.hbrBackground = (HBRUSH) (COLOR_WINDOW);
sWndClassEx.lpszMenuName = NULL;
sWndClassEx.lpszClassName = c_szAppName;
sWndClassEx.hIconSm = NULL;
RegisterClassEx(&sWndClassEx);
g_hWnd = CreateWindowEx(0, c_szAppName, c_szAppName, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, g_hInst, NULL);
ShowWindow(g_hWnd, iCmdShow);
UpdateWindow(g_hWnd);
while (GetMessage(&sMsg, NULL, 0, 0))
{
TranslateMessage(&sMsg);
DispatchMessage(&sMsg);
}
return((int) sMsg.wParam);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//主窗口回調函數
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd, uMsg, wParam, lParam));
}
return(0);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -