首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBscript总是在后台通过快捷方式运行,为什么?

问VBscript总是在后台通过快捷方式运行,为什么?
EN

Stack Overflow用户
提问于 2014-03-29 09:47:41
回答 1查看 767关注 0票数 1

当我通过CMD.EXE运行以下脚本时,Word的显示是正常的,即最大化。

代码语言:javascript
复制
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.open(sTempWordFile)
oWord.Run WScript.Arguments.item(0)
oWord.Activate

当我在快捷.LNK文件中调用与Target相同的脚本时,显示总是最小化!

.LNK文件的目标是:"%OWNERS_CORP_ROOT%\cmd\RunWord.vbs“备忘录

使用Windows 8.1,Office 2013。快捷.LNK文件被设置为运行“最大化”。

在使用快捷方式时,如何使“最大化”显示?

EN

回答 1

Stack Overflow用户

发布于 2014-03-29 10:47:57

SetForegroundWindow函数

SetForegroundWindow函数将创建指定窗口的线程放入前台并激活该窗口。键盘输入指向窗口,并为用户更改各种视觉提示。系统为创建前台窗口的线程分配的优先级略高于其他线程。

语法

布尔SetForegroundWindow( HWND hWnd ).参数

应该激活窗口并将其带到前台的句柄中的hWnd。返回值

如果窗口被带到前台,则返回值为非零。如果未将窗口带到前台,则返回值为零。

备注

Windows 98/Me:系统限制哪些进程可以设置前台窗口。只有当下列条件之一为真时,进程才能设置前台窗口:

这个过程就是前景进程。进程由前台进程启动。进程接收到最后一个输入事件。没有前台进程。前台进程正在调试。前景未被锁定(请参见LockSetForegroundWindow)。前台锁定超时已过期(请参阅SPI_GETFOREGROUNDLOCKTIMEOUT in SystemParametersInfo)。Windows 2000/XP:没有菜单处于活动状态。

使用此更改后,当用户使用另一个窗口时,应用程序无法将窗口强制到前台。相反,前台和后台Windows将激活窗口(请参阅SetActiveWindow)并调用该函数通知用户。但是,在Microsoft 98和Windows (Windows )上,如果非前台线程调用SetForegroundWindow并传递未由调用线程创建的窗口句柄,则该窗口不会在任务栏上闪烁。若要使SetForegroundWindow的行为与在Windows 95和MicrosoftWindowsNT4.0上的行为相同,请在安装应用程序时更改前台锁定超时值。这可以通过以下函数调用在安装或安装应用程序中完成:

SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT,0,(LPVOID)0,SPIF_SENDWININICHANGE = SPIF_UPDATEINIFILE);

此方法允许Windows98/ Windows和Windows2000/ Windows上的SetForegroundWindow分别对所有应用程序的行为与Windows 95和WindowsNT4.0相同。安装应用程序应该警告用户正在执行此操作,这样用户就不会对更改的行为感到惊讶。在Windows 2000和Windows XP上,除非调用线程可以更改前台窗口,否则调用失败,因此必须从安装程序或修补程序调用。有关更多信息,请参见前台和后台Windows。

可以设置前台窗口的进程可以通过调用AllowSetForegroundWindow函数使另一个进程能够设置前景窗口。dwProcessId指定的进程将失去下次用户生成输入时设置前台窗口的能力,除非输入指向该进程,或者下次进程调用AllowSetForegroundWindow时,除非指定了该进程。

前台进程可以通过调用SetForegroundWindow函数来禁用对LockSetForegroundWindow的调用。

功能信息

在Winuser.h中声明的最小DLL版本user32.dll报头,包括Windows.h导入库User32.lib最低操作系统Windows 95,WindowsNT3.1Unicode实现为Unicode版本。

另请参阅

Windows概述,AllowSetForegroundWindow,FlashWindowEx,GetForegroundWindow,LockSetForegroundWindow,SetActiveWindow

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22729453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档