谁能把这个程序翻成c#

来源:百度知道 编辑:UC知道 时间:2024/06/01 16:35:11
获取桌面图标位置.
////////////////// for NT based /////////////////////

/* 取桌面 ListView 的句柄 */

HWND hDeskTop;
hDeskTop = FindWindow("progman", NULL);
hDeskTop = FindWindowEx(hDeskTop, 0, "shelldll_defview", NULL);
hDeskTop = FindWindowEx(hDeskTop, 0, "syslistview32", NULL);

/* 取 explorer.exe 句柄. 注意 OpenProcess 的参数 */
DWORD dwProcessId;
GetWindowThreadProcessId(hDeskTop, &dwProcessId);
HANDLE hProcess = OpenProcess(PROCESS_VM_READ PROCESS_VM_OPERATION, FALSE, dwProcessId);

/* 在 explorer.exe 空间内分配内存 */
PVOID pv = VirtualAllocEx(hProcess, NULL, sizeof(POINT), MEM_COMMIT, PAGE_READWRITE);

/* 给桌面 ListView 窗口发一 LVM_GETITEMPOSITION 取 "我的电脑" 坐标 */
ListView_GetItemPosition(hDeskTop, 1, pv);

/* 把由 LVM_GETITEMPOSITION 获得的坐标数据复制到 pt 结构 */
POINT pt;
ReadProcessMemory(hProcess, pv, &pt, sizeof(POINT), NULL);

/* 释放内存, 句柄 *

对不起,我是一个菜鸟啊!爱莫能助,可惜啊!但是我也很想学习c#。就过来浏览一下大家都会遇到什么问题,以便以后借鉴。如果有可能,我是否也能向你提一些问题呢?