具体看:
http://community.csdn.net/Expert/topic/4950/4950288.xml?temp=.5702936回答后烦请到:
http://community.csdn.net/Expert/topic/4854/4854970.xml?temp=.4366571
给分
http://community.csdn.net/Expert/topic/4950/4950288.xml?temp=.5702936回答后烦请到:
http://community.csdn.net/Expert/topic/4854/4854970.xml?temp=.4366571
给分
typedef struct _LVITEM {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns; // tile view columns
PUINT puColumns;
} LVITEM, *LPLVITEM; 在c#中定义的时候,加上
[StructLayout( LayoutKind.Sequential )]标示至于类型转换
LPTSTR:StringBuilder,使用的时候最好初始化空间
LPARAM: IntPtr
PUINT: IntPtr你可以试试。
我现在能够从我的程序得到选择的是第几个了,可得不到具体的文件名
原因我也找到了http://www.codeproject.com/threads/int64_memsteal.asp
char ItemBuf[512],*pItem; 在vc中是把*pItem声明成什么?pItem=(char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);
这个(char*)又是什么意思??
char ItemBuf[512],*pItem;plvitem=(LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
pItem=(char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE); lvitem.cchTextMax=512;
lvitem.iSubItem=0; //ProcessName
lvitem.pszText=pItem;帮我解释一下;谢谢!(我特菜)
ItemBuf[512]是char数组,*pItem是这个数组的指针?pItem=(char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);
为pItem分配内存?那能这样 lvitem.pszText=pItem;附值?
pszText 是LPTSTR类型:在C#中转换成StringBuilder