aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 22227|回复: 8

请问知道文件句柄,如何知道它的绝对路径

[复制链接]

16

主题

34

回帖

307

积分

二级会员

积分
307
发表于 2011-8-18 08:11:11 | 显示全部楼层 |阅读模式
悬赏50已解决
请问知道文件句柄,如何知道它的绝对路径
例如:hwnd = winex.find("","大智慧 -");
有了句柄hwnd,怎么得到它的绝对路径

最佳答案

查看完整内容

import process; import win; hwnd=199492; tid,pid=win.getThreadProcessId(hwnd); path=process.getPath(pid); win.msgbox(path,"aardio");

117

主题

1103

回帖

6572

积分

六级会员

积分
6572
发表于 2011-8-18 08:11:12 | 显示全部楼层
import process;
import win;

hwnd=199492;

tid,pid=win.getThreadProcessId(hwnd);
path=process.getPath(pid);

win.msgbox(path,
"aardio");

点评

这个比较简单  发表于 2011-8-18 10:08

16

主题

84

回帖

657

积分

三级会员

积分
657
发表于 2011-8-18 09:05:50 | 显示全部楼层
本帖最后由 dafei2599 于 2011-8-18 09:57 编辑

GetWindowModuleFileName这个WInAPI应该可以,你试试吧
按神码哥的指点,调用API方式:

import winex
        hd = winex.find("你的程序");
        assert(hd != null);
        GetWindowModuleFileName = ::User32.api("GetWindowModuleFileName","INT( int hwnd,string& lpszFileName,INT cchFileNameMax)");
       
        ret,ret1 = GetWindowModuleFileName(hd,255,255)
        win.msgbox(""+ret1,"aardio")

5

主题

429

回帖

2420

积分

五级会员

积分
2420
发表于 2011-8-18 09:41:07 | 显示全部楼层
如果不是对底层API、结构体、指针这些非常熟悉,不建议使用API.
aardio标准库里提供了更稳定、更方便解决常见编程问题的方法,应尽可能使用标准库函数。

import winex; //导入外部窗口控制支持库
import process; //导入外部进程控制支持库

import console
//打开控制台

process.
execute("notepad.exe") //运行记事本

var hwnd = winex.waitActive( , ,"Notepad"); //等待记事本激活,并获取句柄
var tid,pid =  win.getThreadProcessId(hwnd); //取线程ID
var prcs = process(pid); //打开进程

var exePath  = prcs.getPath()
console.log(
"获了执行程序完整路径",exePath )

//用下面的代码可以列出程序加载的所有DLL路径
for moduleEntry in prcs.eachModule() {  
    console.log(
"加载模块路径",moduleEntry.szExePath )
}  

4

主题

146

回帖

862

积分

三级会员

积分
862
发表于 2011-9-7 23:28:23 | 显示全部楼层
不错不错,太好了

0

主题

3

回帖

16

积分

新手入门

积分
16
发表于 2012-4-21 18:25:25 | 显示全部楼层
佩服,佩服!

41

主题

81

回帖

950

积分

荣誉会员

积分
950
发表于 2013-4-17 17:21:04 | 显示全部楼层
学习了

13

主题

100

回帖

687

积分

三级会员

积分
687
发表于 2013-4-18 10:22:05 | 显示全部楼层
学习了,很有用

38

主题

129

回帖

1045

积分

荣誉会员

积分
1045
发表于 2017-11-19 20:55:26 | 显示全部楼层
学习了.谢谢,正需要
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-1-20 13:02 , Processed in 0.066620 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表