[一星珠]windows核心编程
haiheng
这个作者很懒,什么都没留下…
展开
-
SetWindowPos把窗口置最前
SetWindowPos(hwnd, IsDlgButtonChecked(hwnd, IDC_ALWAYSONTOP) ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);原创 2004-10-27 00:07:00 · 3927 阅读 · 0 评论 -
ComboBox_AddString
HWND hwndPriorityClass = GetDlgItem(hwnd, IDC_PRIORITYCLASS); ComboBox_AddString(hwndPriorityClass, TEXT("No limit")); ComboBox_AddString(hwndPriorityClass, TEXT("Idle")); ComboBox_AddString(原创 2004-10-28 23:59:00 · 5518 阅读 · 2 评论 -
FormatMessage通过错误码取出错误文本
// Get the error code DWORD dwError = GetDlgItemInt(hwnd, IDC_ERRORCODE, NULL, FALSE); HANDLE hlocal = NULL; // Buffer that gets the error message string // Get the error co原创 2004-10-26 23:39:00 · 1576 阅读 · 0 评论 -
SetDlgItemText设置控件文件
SetDlgItemText(hwnd, IDC_ERRORTEXT, TEXT("Error number not found."));原创 2004-10-27 00:20:00 · 2992 阅读 · 3 评论 -
Edit_LimitText(GetDlgItem(hwnd, IDC_ERRORCODE), 5);限制输入字符
#include Edit_LimitText(GetDlgItem(hwnd, IDC_ERRORCODE), 5);原创 2004-10-27 13:17:00 · 2794 阅读 · 0 评论 -
GetVersionEx(&vi);获取版本
inline void chWindows9xNotAllowed() { OSVERSIONINFO vi = { sizeof(vi) }; GetVersionEx(&vi); if (vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { chMB("This application requires features not原创 2004-10-27 14:34:00 · 1276 阅读 · 0 评论 -
ComboBox_ResetContent(hwndList);清空所有ComboBox的项
ComboBox_ResetContent(hwndList);原创 2004-10-27 23:59:00 · 6177 阅读 · 0 评论 -
创建模块化对话框
HWND hwnd = CreateDialog(hinstExe, MAKEINTRESOURCE(IDD_SCHEDLAB), NULL, Dlg_Proc);原创 2004-11-02 20:45:00 · 827 阅读 · 0 评论 -
向下拉框加入数据值
int n = ComboBox_AddString(hwndCtl, TEXT("High")); ComboBox_SetItemData(hwndCtl, n, HIGH_PRIORITY_CLASS);原创 2004-11-02 20:54:00 · 1171 阅读 · 0 评论 -
关联作业和完成端口
// Completion keys for the completion port#define COMPKEY_JOBOBJECT ((UINT_PTR) 2)HANDLE hJob = NULL;HANDLE hIOCP ;hJob =CreateJobObject(NULL, TEXT("JobLab"));//创建作业 hIOCP = CreateIoCompletionPort(IN原创 2004-10-31 20:49:00 · 1320 阅读 · 0 评论 -
Edit控件里没数据时CheckBox的窗口就设为不可用
case IDC_PERJOBUSERTIMELIMIT: { // The job time must be reset if setting a job time limit BOOL f; GetDlgItemInt(hwnd, IDC_PERJOBUSERTIMELIMIT, &f, FALSE);原创 2004-10-31 20:52:00 · 976 阅读 · 0 评论 -
获取列表框名柄
/* *获取列表框名柄 */ HWND hwndLB = FindWindow(NULL, TEXT("Job Lab")); hwndLB = GetDlgItem(hwndLB, IDC_STATUS); ListBox_SetCurSel(hwndLB, ListBox_AddString(hwndLB, sz));原创 2004-10-31 21:31:00 · 1054 阅读 · 0 评论 -
获取当前操作系统扩展信息
OSVERSIONINFO vi = { sizeof(vi) }; GetVersionEx(&vi);原创 2004-11-11 17:31:00 · 822 阅读 · 0 评论 -
获取字体大小
LOWORD(GetDialogBaseUnits())原创 2004-11-11 19:31:00 · 1307 阅读 · 1 评论 -
获取地址空间状态
MEMORY_BASIC_INFORMATION mbi; BOOL fOk = (VirtualQueryEx(hProcess, pvAddress, &mbi, sizeof(mbi))原创 2004-11-11 22:21:00 · 928 阅读 · 0 评论 -
倒计时
/******************************************************************************Module: TimedMsgBox.cppNotices: Copyright (c) 2000 Jeffrey Richter******************************************************原创 2004-11-10 18:43:00 · 922 阅读 · 0 评论 -
thProcesses.ProcessFirst(&pe);取得进程
CToolhelp thProcesses(TH32CS_SNAPPROCESS); PROCESSENTRY32 pe = { sizeof(pe) }; BOOL fOk = thProcesses.ProcessFirst(&pe); PCTSTR pszExeFile = _tcsrchr(pe.szExeFile, TEXT(//)); if (pszExeF原创 2004-10-28 00:22:00 · 1339 阅读 · 0 评论 -
#define chHANDLE_DLGMSG(hwnd, message, fn) 宏定义
#define chHANDLE_DLGMSG(hwnd, message, fn) / case (message): return (SetDlgMsgResult(hwnd, uMsg, / HANDLE_##message((hwnd), (wParam), (lParam), (fn))))原创 2004-10-27 14:28:00 · 1924 阅读 · 1 评论 -
LoadLibraryEx导入DLL
HMODULE hDll = LoadLibraryEx(TEXT("netmsg.dll"), NULL, DONT_RESOLVE_DLL_REFERENCES);原创 2004-10-27 00:18:00 · 3933 阅读 · 0 评论 -
#pragma once
#pragma onceSpecifies that the file will be included (opened) only once by the compiler in a build. This can reduce build times as the compiler will not open and read the file after the first #inclu原创 2004-10-27 13:25:00 · 1819 阅读 · 0 评论 -
#ifdef _DEBUG
// Assert in debug builds, but dont remove the code in retail builds.#ifdef _DEBUG#define chVERIFY(x) chASSERT(x)#else#define chVERIFY(x) (x)#endif原创 2004-10-27 14:27:00 · 1354 阅读 · 0 评论 -
ExitProcess(0);退出程序
inline void chWindows9xNotAllowed() { OSVERSIONINFO vi = { sizeof(vi) }; GetVersionEx(&vi); if (vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { chMB("This application requires features not原创 2004-10-27 14:32:00 · 3992 阅读 · 0 评论 -
#pragma comment(linker, "/subsystem:Windows")
#pragma comment(linker, "/subsystem:Windows")原创 2004-10-27 14:51:00 · 3361 阅读 · 1 评论 -
SetWindowRedraw(hwndList, FALSE);无闪烁重画
HWND hwndList = GetDlgItem(hwnd, IDC_PROCESSMODULELIST); SetWindowRedraw(hwndList, FALSE); ComboBox_ResetContent(hwndList); CToolhelp thProcesses(TH32CS_SNAPPROCESS); PROCESSENTRY32 pe =原创 2004-10-27 23:34:00 · 3953 阅读 · 1 评论 -
个位数字转字符
(TCHAR)(TEXT(0)+n)//相当于是30 + n,即取得数字的ASCII码原创 2004-10-29 00:06:00 · 966 阅读 · 0 评论 -
DialogBoxParam(hinstExe, MAKEINTRESOURCE(IDD_ERRORSHOW), NULL, Dlg_Proc, _ttoi(pszCmdLine));
.原创 2004-10-26 23:08:00 · 1640 阅读 · 0 评论 -
EnableWindow禁止控件
EnableWindow(GetDlgItem(hwnd, IDOK),GetWindowTextLength(hwndCtl) > 0);原创 2004-10-27 00:12:00 · 1714 阅读 · 0 评论 -
GetDlgItemInt获取对话框控件数值
GetDlgItemInt(hwnd, IDC_ERRORCODE, NULL, FALSE);原创 2004-10-27 00:24:00 · 3343 阅读 · 0 评论 -
SendMessage(, WM_SETICON, , ,);设置对话框图标
// Sets the dialog box iconsinline void chSETDLGICONS(HWND hwnd, int idi) { SendMessage(hwnd, WM_SETICON, TRUE, (LPARAM) LoadIcon((HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),原创 2004-10-27 14:30:00 · 5711 阅读 · 0 评论 -
CreateProcess 运行外部或DOS程序
STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMATION pi; TCHAR sz[] = TEXT("net send * fuck"); CreateProcess(NULL, sz, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);//CRE原创 2004-10-28 00:54:00 · 1353 阅读 · 0 评论 -
用集合初始化数组
TCHAR szSchedulingClass[2] = { (TCHAR) (TEXT(0) + n), 0 };原创 2004-10-29 00:02:00 · 981 阅读 · 0 评论 -
宏的分行
#define chBEGINTHREADEX(psa, cbStack, pfnStartAddr, / pvParam, fdwCreate, pdwThreadId) / ((HANDLE)_beginthreadex( / (void *) (psa),原创 2004-10-29 00:11:00 · 1325 阅读 · 0 评论 -
EndDialog(hwnd, id);关闭对话框
.原创 2004-10-27 00:17:00 · 1828 阅读 · 0 评论 -
逐段注释--最简单,最方便,最快速,最实用,最高效,最清晰,最直接,最好的调试方法
原创 2004-12-15 11:44:00 · 2006 阅读 · 7 评论