两个问题,现在很急用。倾我所有!(100分)

  • 主题发起人 主题发起人 zyf23
  • 开始时间 开始时间
Z

zyf23

Unregistered / Unconfirmed
GUEST, unregistred user!
(1)在程序中打开某一目录,然后,这一目录独立出来。
比如,在我的程序中打开“我的文挡”,就象在桌面上双击打开我的文挡一样。
说出原代码更好,说出思路也行.
(2)我正在开发一个机房管理自动化系统,基本都实现了,
但我最近发现了一个问题,当我的这个后台程序在关闭系统时,
如果不同时运行其他的软件,可以自动实现退出,如果运行其他程序,
并且这些程序在关机之前的修改被保存的话,我的系统也可以正常退出。
但如果其他程序的修改没有保存,关机时系统会提示是否保存,此时,用户如选择保存,
我的系统也可正常推出,但如果不保存的话,系统就又返回来了。而我的计费系统早
一步却退出了。说了这么多废话,可能你还没明白,我的意思是,
当关闭系统或注销时,如何能保证我的计费系统,是在最后退出的。我用获得当前进程的
handle,然后在我程序中加一个循环判断,是否当前进程只剩下进程管理器了
,单一运行就死机。有那位高手能解决我自当感激不尽!要多少分,都行。
 
1.调用API执行expoler.exe 应该可以吧
2.不能只剩下一个进程管理器,还得留一些其他的系统进程,具体的我也不清楚,可以找下相关帮助或书籍
 
to base1:
如何执行expoler.exe,请告知! thanks!
 
<<(2)
没碰到过这种问题,exitwindows 不成功会返回一个值的,你可以在循环里使用,
直到退出。
 
//to zyf23
//调用资源管理器
var
WinPathChar: Array[0..127] of char;
WinPathStr:String;
begin
GetWindowsDirectory(WinPathChar,SizeOf(WinPathChar));
WinPathStr:=WinPathChar;
WinExec(PChar(WinPathStr+'/Explorer.exe C:/') ,SW_SHOW );//打开C:/
end;
//我考,都3点了,我走先
 
ShellExecute(GetDeskTopWindow, 'open', '你要打开的文件的路径', nil, nil, 0);
 
这样都可以:
ShellExecute(GetDeskTopWindow, NIL, 'c:/my documents/', nil, nil, SW_ShowNormal);
ShellExecute(GetDeskTopWindow, 'OPEN', 'c:/my documents/', nil, nil, SW_ShowNormal);
ShellExecute(GetDeskTopWindow, 'EXPLORE', 'c:/my documents/', nil, nil, SW_ShowNormal);
 
多人接受答案了。
 
后退
顶部