我按liuxingang28老师的以上方法使用了,测试结果是虽然显示了窗口,但它是个透明的窗体,上面的全部控件都看不见,所以无法使用.我在表单的窗口激活事件中加入了表单和控件的全部Refresh,也没有任何作用.请liuxingang28老师多多指教....
回复 11 楼 kongxc
是的,而且不知道怎么解决
# DEFINE SW_NORMAL 1 && 窗口状态:正常大小 # DEFINE SW_MAXIMIZE 3 && 窗口状态:最大化 DECLARE integer FindWindow IN WIN32API integer,string && 获取应用程序窗口句柄 DECLARE integer ShowWindow IN WIN32API integer,integer && 显示应用程序窗口 DECLARE integer IsZoomed IN WIN32API integer && 判断窗口是否最大化 DECLARE integer SetForegroundWindow IN WIN32API integer cTitle = '物料管理系统' && 应用程序标题 nHwnd = FindWindow(0,cTitle) && 获取窗口句柄 IF nHwnd > 0 && 应用程序已启动 SetForegroundWindow(nHwnd) IF IsZoomed(nHwnd) = 1 && 原窗口的状态是最大化 ShowWindow(nHwnd,SW_MAXIMIZE) && 激活原窗口,并保持最大化 ELSE ShowWindow(nHwnd,SW_NORMAL) && 原窗口是隐藏或最小化状态,则激活原窗口,并保持正常大小 ENDIF QUIT && 退出本次应用程序 ENDIF以上代码增加了两行,其中一行是 DECLARE integer SetForegroundWindow IN WIN32API integer,定义了一个设置活动窗口的 API 函数,另一行语句是 SetForegroundWindow(nHwnd),先将原应用程序窗口设定到前台,然后再恢复大小。