tree control的应用

用途总结:

【一】获取到当前鼠标选择的树的标签文本

CString strText;
HTREEITEM hItem=m_FileTree.GetSelectedItem();
strText=m_FileTree.GetItemText(hItem);
SetDlgItemText(IDC_EDIT1,strText);

【二】GetModuleFileName

获得当前进程一加载模块的文件完整路径,该模块必须由当前进程加载。

如果要想获得另一个已加载模块的文件路径,可以使用GetModuleFileNameEx函数。

(C++)

1
2
3
4
5
DWORD  WINAPI GetModuleFileName(
     _In_opt_   HMODULE  hModule,
     _Out_      LPTSTR  lpFilename,
     _In_       DWORD  nSize
);
参数说明:
hModule Long:一个模块的句柄,可以是一个DLL模块,或者是一个应用程序的实例句柄。
如果该参数为NULL,该函数返回该应用程序全路径。
lpFileNameString:
指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的。
nSize Long
装载到缓冲区lpFileName的最大字符数量。

原型及各参数解释
1
2
3
4
5
DWORD  GetModuleFileName(
     HMODULE  hModule,
     LPTSTR  lpFilename,
     DWORD  nSize
);
获得hModule所指的文件的名字,
hModule在LoadLibrary之类的函数会返回,是一个句柄,用来标记这个文件资源。
lpFilename是你存放返回的名字的内存块的 指针,是一个输出参数,nSize是这个内存块的大小,用于防止溢出。
返回值是用于指示是否发生错误的。
头文件 windows.h

VC实例源代码编辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <stdio.h>
BOOL  CreateSampleService()
{
     TCHAR  szPath[MAX_PATH];
     if ( !GetModuleFileName( NULL, szPath, MAX_PATH ) )
     {
         printf ( "GetModuleFileName failed (%d)\n" , GetLastError());
         return  FALSE;
     }
return  TRUE;
}
/*
如果想获得某个正在运行的EXE或者DLL的全路径可以这样写代码
GetModuleFileNameEx(hProcess,hInst,lpFile,MAX_PATH);//注意下缓冲区就行了。
*/

原型及各参数解释
1
2
3
4
5
DWORD  GetModuleFileName(
     HMODULE  hModule,
     LPTSTR  lpFilename,
     DWORD  nSize
);
获得hModule所指的文件的名字,
hModule在LoadLibrary之类的函数会返回,是一个句柄,用来标记这个文件资源。
lpFilename是你存放返回的名字的内存块的 指针,是一个输出参数,nSize是这个内存块的大小,用于防止溢出。
返回值是用于指示是否发生错误的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值