我正在通过C ++启动带有app="http://..."
参数(Chrome应用程序快捷方式)的Chrome。现在似乎打开了大约400x800的大小,这很疯狂。我想打开它最大化或至少记住它的大小。
有没有办法实现这个目标?
答案 0 :(得分:4)
如果您不介意使用默认浏览器(我认为这是最佳选择)而不是强制使用Chrome,您只需使用ShellExecute
打开您的网址即可指定您想要的最大化的窗口:
#include <windows.h>
#include <Shellapi.h>
// requires linking towards Shell32.lib
// ...
if(ShellExecute(NULL, "open", "http://www.stackoverflow.com", NULL, NULL, SW_SHOWMAXIMIZED)<=32)
{
/* an error occurred */
}
我必须打开Chrome,并且我在变量中知道它的路径。我还需要指定一个参数。这是一个问题吗?
嗯,在这种情况下,最好使用CreateProcess
:
#include <windows.h>
// ...
// Assuming that the path to chrome is inside the chromePath variable
// and the URL inside targetURL
// Important: targetURL *must be* a writable buffer, not a string literal
// (otherwise the application may crash on Unicode builds)
PROCESS_INFORMATION processInformation;
STARTUPINFO startupInfo;
memset(&processInformation, 0, sizeof(processInformation));
memset(&startupInfo, 0, sizeof(startupInfo));
startupInfo.cb = sizeof(startupInfo);
startupInfo.wShowWindow = SW_SHOWMAXIMIZED;
BOOL result= CreateProcess(chromePath, targetURL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &startupInfo, &processInformation);
if(result)
{
WaitForSingleObject( processInformation.hProcess, INFINITE );
CloseHandle( processInformation.hProcess );
CloseHandle( processInformation.hThread );
}
else
{
// An error happened
}
请注意,您可以尝试使用STARTUPINFO
的dwX
/ dwY
/ dwXSize
/ dwYSize
成员为窗口指定默认大小/位置}结构,但我不确定Chrome是否尊重这些设置。
答案 1 :(得分:-1)
- 开始最大化应该做的伎俩。 取自http://peter.sh/experiments/chromium-command-line-switches/ 我自己没有测试过..