![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShellExecute [D7, 2000, XP]
susergey © (2006-07-28 00:37:00)Мастера, здравствуйте!
Возникла проблема
ShellExecute (Handle, nil, PAnsiChar(CasPolPath), '/?', nil, SW_SHOWNORMAL);
На сколько я понял именно четвертый параметр передает в командную строку ключи запуска программы. В данном случае я хочу добиться выполнения Caspol.exe /?
KilkennyCat (2006-07-28 02:10:00) [1]можно перенаправить в файл,
или http://www.codenet.ru/progr/bcb/pipes.php
susergey (2006-07-28 01:58:00) [2]Еще один вопросик, после запуска с нужными мне ключами, консоль возвращает результат или положительный или отрицательный, как мне его скопировать в Memo?
susergey (2006-07-28 01:55:00) [3]Спасибо, да действительно, лучше.
KilkennyCat (2006-07-28 01:54:00) [4]точку я тож нашел ;) Но Вы - первее. Эт хорошо.
KilkennyCat (2006-07-28 01:52:00) [5]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
WinDirP: PChar;
Res: Cardinal;
CasPolPath: string;
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then begin
CasPolPath := StrPas(WinDirP) + '\Microsoft.Net\Framework\v.1.1.4322\CasPol.exe';
if ShellExecute(Handle, nil, PAnsiChar(CasPolPath), ' /?', nil, SW_SHOWNORMAL)< 32 then ShowMessage('Не могу выполнить ShellExecute!')
end;
end;
так лучше.
susergey (2006-07-28 01:51:00) [6]Спасибо
KilkennyCat © & Германн © Я нашел ошибку.
\Microsoft.Net\Framework\v.1.1.4322\CasPol.exe'
Точка после v не нужна, Спасибо, за участие!
susergey (2006-07-28 01:38:00) [7]Вот процедура целиком:
var
WinDir: string;
WinDirP: PChar;
Res: Cardinal;
CasPolPath: string;
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then
WinDir := StrPas(WinDirP);
CasPolPath := WinDir + '\Microsoft.Net\Framework\v.1.1.4322\CasPol.exe';
if ShellExecute (Handle, nil, PAnsiChar(CasPolPath), ' /?', nil, SW_SHOWNORMAL)< 32 then
begin
ShowMessage('Не могу выполнить ShellExecute !')
end;
Выдает ShowMessage, я проверял значения переменных пути правильные.
KilkennyCat (2006-07-28 01:37:00) [8]> [10] susergey (28.07.06 01:34)
а что получается-то? Как именно "не идет"?
KilkennyCat (2006-07-28 01:36:00) [9]> А что значит
> > если зарегистрировано.
1. прописаны пути, см. [5]
2. расширение файла ассоциировано с исполняемым файлом.
susergey (2006-07-28 01:34:00) [10]Ну я просто теряюсь, у меня не идет!
KilkennyCat (2006-07-28 01:33:00) [11]> [8] susergey (28.07.06 01:30)
ShellExecute(Handle, nil, 'caspol.exe', '/?', nil, SW_SHOWNORMAL);
проверено тоже. работает.
susergey (2006-07-28 01:30:00) [12]В переменной PAnsiChar(CasPolPath) я и определил путь к CasPol.exe
А что значит
> если зарегистрировано.
Германн (2006-07-28 01:28:00) [13]
> KilkennyCat © (28.07.06 01:21) [6]
> ну, под зарегистрировано я и имел ввиду, что система знает,
> куды идти.
Я понял, но прошу не зачислять меня в разрад "буквоедов"! :-)
Более всего меня изумило, что и меня есть вышеупомянутый файл!
Ну отстал от жизни. Со мной это часто бывает. :-(
Но я умею догонять! Что тоже часто бывало! :-)
KilkennyCat (2006-07-28 01:21:00) [14]ну, под зарегистрировано я и имел ввиду, что система знает, куды идти.
Германн (2006-07-28 01:17:00) [15]
> к тому же, может у него CasPolPath содержит все.
Я среагировал на
> я хочу добиться выполнения Caspol.exe /?
и на то, что я, лично, не знаю что такое Caspol.exe.
И, кстати, что значит
> если зарегистрировано.
?
Я до сих пор знал только два способа "вызова" файла без указания пути к нему: либо файл находится в текущей директории, либо в директории прописанной в системной переменной PATH.
Ууу блин! пока писАл ответ ТС искал сей файл у меня на компе и таки нашел! d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CasPol.exe
Ну раз "Microsoft.NET\Framework", наверно "зарегистрировано". :-)
KilkennyCat (2006-07-28 01:05:00) [16]к тому же, может у него CasPolPath содержит все.
KilkennyCat (2006-07-28 01:04:00) [17]> [1] Германн © (28.07.06 00:59)
нормально. если зарегистрировано.
KilkennyCat (2006-07-28 01:04:00) [18]у меня работает.
Германн (2006-07-28 00:59:00) [19]Вроде бы да. Но смущает отсутствие пути к файлу Caspol.exe в вызове функции.