经典问题、常见问题解答收集,整理CHM版

Kudeet 2004-09-24 11:12:39
打算总结一些常见或者经典问题的答案,出一个新的CHM版。

我开这个帖子的目的是希望有时间的朋友参与进来,呵呵!一起整理啊!
可以是以前帖子的,也可以直接从FAQ、精华帖找出来整理。

我希望整理格式是:
【问题】......
【解答1】.....
【解答2】.....

10月2日结帖,希望大家积极参与整理。^_^
我只有82分啦!^_^
...全文
268 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
syl5005 2004-10-07
  • 打赏
  • 举报
回复
问题:(现在还没有解决办法)像NETSTAT.EXE一样可以查看到本机网络中打开的端口及相关模块EXE,DLL等。
ghost8367 2004-10-07
  • 打赏
  • 举报
回复
up
exe8012b 2004-10-05
  • 打赏
  • 举报
回复
说什么也得up一下
PiggyXP 2004-10-01
  • 打赏
  • 举报
回复
贴在网络版是要征集在网络版的问题总结吗?
Kudeet 2004-09-30
  • 打赏
  • 举报
回复
mark
wolfaska 2004-09-30
  • 打赏
  • 举报
回复
除了支持不知道说什么了
Wenxy1 2004-09-29
  • 打赏
  • 举报
回复
good,up...
Kudeet 2004-09-29
  • 打赏
  • 举报
回复
鹦鹉,什么意思啊!靠
快乐鹦鹉 2004-09-29
  • 打赏
  • 举报
回复
穷光蛋
Kudeet 2004-09-29
  • 打赏
  • 举报
回复
GOOD
楼下的继续!
pepsi1980 2004-09-29
  • 打赏
  • 举报
回复
如何用代码安全拔除U盘?
#include <tchar.h>
#include <stdio.h>
#include <windows.h>
#include <devguid.h>

#define DWORD_PTR DWORD
#define ULONG_PTR DWORD


extern "C" {
#include "hidsdi.h"
}
// 需加入hid.lib

#include <setupapi.h>
// 需加入setupapi.lib

#include <regstr.h>
#include <winbase.h>

#include <cfgmgr32.h>
// 需要加入cfgmgr32.lib

#include <initguid.h>
//#include <usbiodef.h>
DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE

int main(int argc, _TCHAR* argv[])
{
HDEVINFO hDevInfo;

SP_DEVINFO_DATA DeviceInfoData;
DWORD i;

//--------------------------------------------------------------------------
// 获取设备信息
hDevInfo = SetupDiGetClassDevs((LPGUID)&GUID_CLASS_USB_DEVICE,
0, // Enumerator
0,
DIGCF_PRESENT | DIGCF_DEVICEINTERFACE );
if (hDevInfo == INVALID_HANDLE_VALUE) {
// 查询信息失败
printf("ERROR - SetupDiGetClassDevs()");
return 1;
}
//--------------------------------------------------------------------------

// 枚举每个USB设备
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for (i=0;SetupDiEnumDeviceInfo(hDevInfo, i, &DeviceInfoData);i++)
{
LPTSTR buffer = NULL;
PVOID buffer2 = NULL;
DWORD buffersize = 0;
ULONG len;
CONFIGRET cr;
PNP_VETO_TYPE pnpvietotype;
CHAR vetoname[MAX_PATH];
ULONG ulStatus;
ULONG ulProblemNumber;

cr = CM_Get_DevNode_Status( &ulStatus,
&ulProblemNumber,
DeviceInfoData.DevInst,
0);
if ( CR_SUCCESS == cr ) {
printf("OK - CM_Get_DevNode_Status()[%d]\n", cr);
printf("OK - CM_Get_DevNode_Status() sts [%x]\n", ulStatus);
printf("OK - CM_Get_DevNode_Status() pro [%x]\n", ulProblemNumber);
} else {
printf("ERROR - CM_Get_DevNode_Status()[%d]\n", cr);
printf("ERROR - CM_Get_DevNode_Status()[%d]\n", GetLastError());
}
// DN_DISABLEABLE or DN_REMOVABLE
if ((DN_DISABLEABLE & ulStatus ) != 0 ) {
printf("HAS - DN_DISABLEABLE()[%x]\n", DN_DISABLEABLE & ulStatus);
} else {
continue;
}
if ((DN_REMOVABLE & ulStatus ) != 0 ) {
printf("HAS - DN_REMOVABLE()[%x]\n", DN_REMOVABLE & ulStatus);
} else {
continue;
}

len = MAX_PATH;
// pnpvietotype = PNP_VetoDevice;
cr = CM_Request_Device_Eject(
DeviceInfoData.DevInst,
&pnpvietotype,
vetoname,
len,
0
);
if ( CR_SUCCESS == cr ) {
printf("OK - CM_Request_Device_Eject()[%d]\n", cr);
} else {
printf("ERROR - CM_Request_Device_Eject()[%d]\n", cr);
printf("ERROR - CM_Request_Device_Eject()[%d]\n", GetLastError());
}

}


if ( GetLastError()!=NO_ERROR &&
GetLastError()!=ERROR_NO_MORE_ITEMS )
{
// Insert error handling here.
return 1;
}

// Cleanup
SetupDiDestroyDeviceInfoList(hDevInfo);

return 0;
}
conan19771130 2004-09-25
  • 打赏
  • 举报
回复
收到,辛苦了大哥
bobob 2004-09-24
  • 打赏
  • 举报
回复
上面的四个都是我的空间啊!呵呵,空间很稳定
楼主整理好了我可以再放上去。
Kudeet 2004-09-24
  • 打赏
  • 举报
回复
呵呵!感激的回复就不要再跟了,


希望看到的是整理回复!
Kudeet 2004-09-24
  • 打赏
  • 举报
回复
这里是以前总结的:
http://202.117.64.21/csdn/csdn.chm
http://202.117.64.21/csdn/vcmfc.chm
http://202.117.64.21/csdn/VC200402.chm
http://202.117.64.21/csdn/index.chm
以上四个我都试过,能下载。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧