Погуглил, накопал SellExecute в Shell32.dll со следующим прототипом:
CODE:DECLARE INTEGER ShellExecute IN SHELL32.DLL parameters:
INTEGER nWinHandle (hWND), ;
STRING cOperation, ;
STRING cFileName, ;
STRING cParameters, ;
STRING cDirectory, ;
INTEGER nShowWindow
Но опять же запустить при помощи библиотеки не получается.
Пробовал по всякому исходя из примерно этого:
CODE:external (INT, "Run", "ShellExecute", "shell32.dll");
Run (0, "Open", "chrome.exe", "--new-window http://ya.ru", "", 1);
или этого:
CODE:char program[255];
char parameters[255];
strcpy(#program[0], "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe");
strcpy(#parameters[0], "--new-window http://ya.ru");
external (INT, "run", "ShellExecute", "shell32.dll");
run (0, "Open", address(#program[0]), address(#parameters[0]), "", 1);
И в разных случаях получается разный результат.
Или открывается эксплорер, или браузер по умолчанию, или критическая ошибка, или ругается Кибор, или вообще зависание, или ошибка rundll.exe....... В общем прошу помощи, подскажите правильный вариант использования этой команды в этой библиотеке в Киборе! С ума уже схожу... Мне всего лишь нужен аналог выполнения комбинации
Нажать Win + R
Ввести "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window http://ya.ru
Нажать ENTER
Хелп.......
(Добавление)
Ура!!! Я ее победил.
Всего одного символа не хватало блин! ShellExecuteA же... Я дерево!..
Вот верный код (если кому-то кроме меня еще это понадобится):
CODE:external (INT, "Run", "ShellExecuteA", "shell32.dll");
Run (0, "Open", "chrome.exe", "--new-window http:\\ya.ru", "", 1); (Отредактировано автором: 26 Марта, 2017 - 23:53:18) |