Если вы не возражаете против использования браузера по умолчанию (который, на мой взгляд, является наилучшим вариантом) вместо принудительного использования Chrome, вы можете просто открыть свой URL с 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
}
Обратите внимание, что вы можете попытаться указать размер / положение по умолчанию для окна, используя dwX
/ dwY
/ dwXSize
/ dwYSize
членов структуры STARTUPINFO
, но Я не уверен, что Chrome соблюдает эти настройки.