我爱黑客网首页 设为首页
加入收藏
联系我们
 首 页  技术文章 下载中心 站长学院 交流论坛
 软件:
 文章:        教程:
 推荐: 我爱黑客网论坛
 
 
 
 
   
黑软: Q Q 软件 木马间谍 探嗅监听 溢出攻击 加密解密 漏洞扫描 脚本注入 远程控制 综合利用 聊天工具  
 
技术文章: 爱黑新闻 | 黑客攻防 | 网络技术 | 程序设计 | 系统操作 | 本站动态 | 业界动态 | 安全公告 | 病毒公告 | 八卦黑客
 
 
您当前的位置:我爱黑客 -> 程序设计 -> C++ -> C++系统 -> 文章内容  
栏目导航
· C++综合 · C++通信
· C++视图 · C++图象
· C++系统 · C++多媒体
· C++界面 · C++文件
· C++数据库 · C++网络
热门文章
· 10分钟完成一个USB驱动..
· 通过消息实现自定义输..
· 防止因系统崩溃而丢失..
· 文本框控件的消息及应..
· 获取信息的有关Window..
· 如何自动移去系统托盘..
· 读取其他应用程序中Li..
· 如何实现大图标风格的..
· BCB6/Delphi7下完美调..
· 虚拟设备驱动程序的设..
· 用游戏操纵杆摸拟鼠标..
· 如何读写硬件端口
相关文章

· Winsock API 函数大..
· Ftp相关的Windows A..
· 通过端口获取IDE硬盘..
· 在Win9x/NT下获取硬..
· 如何获取屏幕保护程..
· 如何获取打印机参数..
· 挂钩Windows API
· [图文] [Java] API/四..
· (汇编源代码 )GET..
· 黑客入门者如何获取..
查看更多与获取信息的有关Windows API相关内容

获取信息的有关Windows API
作者:幽火  来源:www.5ihack.com  发布时间:2007-1-8 17:35:43  发布人:ghostfire

减小字体 增大字体

  1.窗口信息

  MS为我们提供了打开特定桌面和枚举桌面窗口的函数。

  hDesk = OpenDesktop(lpszDesktop, 0, FALSE, DESKTOP_ENUMERATE);

  // 打开我们默认的Default桌面;

  EnumDesktopWindows(hDesk,(WNDENUMPROC)EnumWindowProc, 0);

  // 枚举打开桌面上的所有窗口,由回调函数实现。

  BOOL __stdcall EnumWindowProc(HWND, LPARAM);

  // 在回调函数中,我们可以获得窗口的标题和相关进程,线程信息;

  GetWindowText(hWnd, szWindowText, dwMaxCount);

  GetWindowThreadProcessId(hWnd, &dwPID);

  2.设备驱动器信息(服务和设备驱动器差不多,在此不做重复)

  设备驱动信息有服务控制管理器(SCM)来管理的,我要打开服务控制管理器,并枚举所有的设备驱动器。

  OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);

  // 以所有权限打开服务控制管理器;

  EnumServicesStatus(schManager, dwDeviceType, dwDeviceState,

  EnumStatus, dwBufSize, &dwBytesNeeded, &dwDevicesReturned, &dwResumeHandle))

  // 枚举所有设备的当前状态;

  CloseServiceHandle(schManager);

  // 记住,在结束访问后要关闭服务句柄;

  OpenService(schManager, szDeviceName, SERVICE_ALL_ACCESS);

  // 打开特定的设备驱动器;

  QueryServiceConfig(schDevice, lpDeviceConfig, 1024 * 8, &dwBytesNeeded);

  // 查询驱动器的服务配置信息;

  QueryServiceStatus(schDevice, &DeviceStatus);

  // 查询设备驱动器的当前状态;

  QueryServiceConfig2(schDevice, SERVICE_CONFIG_DESCRIPTION, (LPBYTE)lpDeviceDescription, 8*1024, &dwBytesNeeded)

  // 查询设备的描述信息;

  StartService(schDevice, 0, NULL);

  // 启动设备;

  ControlService(schDevice, SERVICE_CONTROL_STOP, &DeviceStatus);

  // 停止设备;

  DeleteService(schDevice);

  // 删除设备;

  3.磁盘信息

  我们希望获得系统所有磁盘的信息,包括软盘,硬盘,光盘等等;

  GetLogicalDriveStrings(dwBufferLength, lpBuffer);

  // 获得逻辑设备的信息;

  GetVolumeInformation(lpRootPathName, lpVolumeNameBuffer, dwVolumeNameSize, &dwVolumeSerialNumber,

  &dwMaximumComponentLength, &dwFileSystemFlags, lpFileSystemNameBuffer, dwFileSystemNameSize);

查看更多与获取信息的有关Windows API相关内容

[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:
下一篇文章:
      如何自动移去系统托盘失效的图标       文本框控件的消息及应用
∷相关文章评论∷   (评论内容只代表网友观点,与本站立场无关!) [发表评论]
 
 
 
 
晋ICP备05008232   维护网络安全、传播安全技术才是我们的目标! 
 
关于本站 - 网站帮助 - - 下载声明 - 友情连接 -网站地图