2012-08-16 06:30
⁄ 工业·编程
⁄ 共 4797字
不知不觉做软件已经做了两年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差得太远。通过这几年的软件开发,积累了一些经验而已,先谈谈自己的经验,其实我的经验也不足,只能算是这几年来在编程方面的一些看法吧。
一、什么叫编程
有人说:“编程讲究是一个整体的平衡性”。“平衡性”是软件的很重要的部分,从平衡性的角度去...
软件开发阅读全文
2012-08-15 23:48
⁄ 工业·编程
⁄ 共 2462字
wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。 到了Win32API中,原来的16位变量也被扩展为32位,因此此时wParam和lParam的大小完全相同。 在Win32API的早期,为了保证和Win16API的代码可移植性MS定义了WPARAM和LPARAM两个宏。 ...
MFC阅读全文
2012-08-15 23:46
⁄ 工业·编程
⁄ 共 424字
CString strPath = L"HARDWARE//DESCRIPTION//System//CentralProcessor//0"; //注册表子键路径 CRegKey regkey; //定义注册表类对象 LONG lResult; //LONG型变量-反应结果 lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS); //打开注册表键 if (lResult!=ERROR_SUCCESS) { AfxMessageBox(L"错误:无法查询有关的注册表...
c++, cpu阅读全文
2012-08-15 23:45
⁄ 工业·编程
⁄ 共 439字
CString strPath="HARDWARE//DESCRIPTION//System";
CRegKey regkey;//定义注册表类对象
LONG lResult;//LONG型变量-反应结果 //打开注册表键
lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);
if (lResult!=ERROR_SUCCESS)
{ AfxMessageBox("错误:无法查询有关的注册表信息"); return; }
char chVideoBiosDate[50];
DWORD dwSize=50;
regkey.QueryValue((char*)chVid...
c++阅读全文
2012-08-15 23:44
⁄ 工业·编程
⁄ 共 688字
OSVERSIONINFO OSVersionInfo; OSVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&OSVersionInfo); if (OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT && OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 0) { //AfxMessageBox("Windows 2000 OS!"); cout << &...
c++阅读全文
2012-08-15 23:43
⁄ 工业·编程
⁄ 共 448字
CString strPath="HARDWARE//DESCRIPTION//System//CentralProcessor//0";//注册表子键路径 CRegKey regkey;//定义注册表类对象 LONG lResult;//LONG型变量-反应结果 lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS); //打开注册表键 if (lResult!=ERROR_SUCCESS) { AfxMessageBox("错误:无法查询有关的注册表信息"); return;...
c++, cpu阅读全文
2012-08-15 23:42
⁄ 工业·编程
⁄ 共 1435字
列表控制有一个特殊的功能,当以详细资料方式显示时,列表顶部的表头可以当作按钮来使用,这可以通过列表控制创建时的风格来控制。当鼠标点击列表头名称时,列表控制就会向其父窗口发送一个LNV_COLUMNCLICK消息,利用类导向中列表控制IDC_LISTCTRL对应的LNV_COLUMNCLICK消息加入相应处理函数,就可将表列按照特定顺序进行排列。其函数使用方法见程序,其中iSort为排序的表列索引号,(PFNLVCOMPARE)CompareFu...
UI界面阅读全文
2012-08-15 23:41
⁄ 工业·编程
⁄ 共 5979字
以下代码实现获取某个进程所属的用户名,比如RavMonD.exe的进程PID是1300,那么修改这条语句就OK GetProcessUser(1300,&bs);它的获取结果是:SYSTEM。 ----------------------------------------------------- #include <windows.h> #include <iostream.h> #include <COMDEF.H> #include <stdio.h> typedef struct _UNICODE_STRING { ...
c++阅读全文
2012-08-15 23:40
⁄ 工业·编程
⁄ 共 509字
HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tp;
BOOL EnableDebugPrivilages() { if (!::OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { return FALSE; } if (!::LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue )) { ::CloseHandle( hToken ); return FALSE; } tp.Privil...
c++阅读全文
2012-08-15 23:37
⁄ 工业·编程
⁄ 共 7195字
在Windows 2000以上的MS操作系统,通过Windows的任务管理器可以列出当前系统的所有活动进程(如图1所示),在Windows XP中,更是在控制台下增加了一条Tasklist命令,让系统下的所有进程无所遁行(如图2所示)。这一切是怎么实现的呢?
引用侯捷大师在《深入浅出MFC》的一句话,“知其然而不知其所以然,真不是个好办法”。既然如此,我们干脆自己动手,自己通过编程来实现吧,这样很有成就...
VC阅读全文