在 InnoSetup 中,有一个函数“FindWindowByClassName”可以知道程序是否已经在使用中。就我而言,我想在运行 InnoSetup 更新之前知道我的 wpf 应用程序是否正在使用中,但我不知道如何知道我的 wpf 应用程序类名。当我在我的应用程序中使用 Spy++ 时,类名是:
HwndWrapper[MuProgram.exe;;1120a18a-2e29-4e19-8653-939c99b505c2]
如您所见,我的类名中有一个 GUID,并且此 GUID 在每次启动时都会更改。但无论如何,当我运行 InnoSetup(在调试模式下)时,FindWindowByClassName 函数在我使用这个类名时返回 0。
FindWindowByClassName('HwndWrapper[MyProgram.exe;;1120a18a-2e29-4e19-8653-939c99b505c2]'); // returns 0
我尝试只使用“MyProgram.exe”,但该函数总是返回 0(在测试期间启动应用程序“MyProgram.exe”)。你有什么想法来解决这个问题吗?我可以在我的 wpf 代码中设置类名吗?