hur.cn - 华软网

 热门搜索

有什么办法可以判断执行的PB程序是已经编译好了的exe文件,还是编程时按了run而执行的程序?

  作者:未知    来源:网络    更新时间:2018/8/6
有什么办法可以判断执行的PB程序是已经编译好了有exe文件,还是编程时按了run而执行的程序?
------华软网友回答------
这个问题只要知道一个函数在run时和在编译后执行有不同结果的话,就可以了。
例如:
API函数
Function uInt GetModuleFileNameA(ulong hModule, ref string lpFilename, ulong nSize) Library "kernel32.dll"

String ls_buffer = Space(255)
IF Handle(GetApplication()) <> 0 THEN
   GetModuleFileNameA(Handle(GetApplication()), ls_buffer, 255)
END IF

然后研究一下,返回的ls_buffer。
在编译后的程序中执行,ls_buffer是应用程序的路径;
PB环境中执行,ls_buffer取不到信息。

通过这样判断就可以了。

------华软网友回复------
以下语句更简单
IF Handle(appName) = 0 THEN 
   pb环境
ELSE
  EXE程序
END IF

------华软网友回复------
或者直接
if Handle(GetApplication()) = 0 then is pb环境
------华软网友回复------
楼上的算法果然很独到

长见识了 恭喜楼主 得此答案

@_@      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。