教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> VB >> 编程实例 >> 已知外部程序的hWnd,获取它的完整路径 RSS订阅
已知外部程序的hWnd,获取它的完整路径
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
Option  Explicit  

Public  Declare  Function  GetWindowThreadProcessId  Lib  "user32"  (ByVal  hWnd  As  Long,  lpdwProcessId  As  Long)  As  Long  
Public  Declare  Function  CloseHandle  Lib  "Kernel32.dll"  (ByVal  Handle  As  Long)  As  Long  
Public  Declare  Function  OpenProcess  Lib  "Kernel32.dll"  (ByVal  dwDesiredAccessas  As  Long,  ByVal  bInheritHandle  As  Long,  ByVal  dwProcId  As  Long)  As  Long  
Public  Declare  Function  GetModuleFileNameExA  Lib  "psapi.dll"  (ByVal  hProcess  As  Long,  ByVal  hModule  As  Long,  ByVal  ModuleName  As  String,  ByVal  nSize  As  Long)  As  Long  
Public  Declare  Function  EnumProcessModules  Lib  "psapi.dll"  (ByVal  hProcess  As  Long,  ByRef  lphModule  As  Long,  ByVal  cb  As  Long,  ByRef  cbNeeded  As  Long)  As  Long  
  
Public  Const  PROCESS_QUERY_INFORMATION  =  1024  
Public  Const  PROCESS_VM_READ  =  16  
Public  Const  MAX_PATH  =  260  
  
Public  Function  GetPath(ByVal  hWnd  As  Long)  As  String  
       Dim  hProcess  As  Long  
       Dim  ProcID  As  Long  
       Dim  mModules(1  To  200)  As  Long  
       Dim  cbNeed  As  Long  
       Dim  ModuleName  As  String  
       Dim  nSize  As  Long  
       Dim  lRet  As  Long  

       GetWindowThreadProcessId  hWnd,  ProcID  
       hProcess  =  OpenProcess(PROCESS_QUERY_INFORMATION  Or  PROCESS_VM_READ,  0,  ProcID)  
       lRet  =  EnumProcessModules(hProcess,  mModules(1),  200,  cbNeed)  
       If  lRet  <>  0  Then  
               ModuleName  =  Space(MAX_PATH)  
               nSize  =  500  
               lRet  =  GetModuleFileNameExA(hProcess,  mModules(1),  ModuleName,  nSize)  
               GetPath  =  Left(ModuleName,  lRet)  
       End  If  
       lRet  =  CloseHandle(hProcess)  
End  Function  

来源:www.upschool.com.cn
作者:未知
关键字:hWnd,外部程序,完整路径,获取外部程序完整路径
发表日期:2007-2-9 16:22:39

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:程序只运行一个实例,并且把前一个激活   下一篇:VB UTF-8编码转换


本文的相类似文章
  • 已知外部程序的hWnd,获取它的完整路径
  • 外部程序使一切变得简单
  • 使用调用外部程序函数实现API函数高级功能
  • 让外部程序显示在最前端
  • 外部程序的执行及終止
  • 将 .flc 动画档放在某一个 hWnd 之中播放
  • 怎样从文件列表框中取得文件的完整路径和名称
  • 在PB中调用外部程序并判断其运行结束
  • vb.net执行外部程序的代码
  • VB.NET启动外部程序
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com