Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

ShellExecute   Найти похожие ветки 

 
susergey   (2006-07-28 00:37) [0]

Мастера, здравствуйте!

Возникла проблема

ShellExecute (Handle, nil, PAnsiChar(CasPolPath), "/?", nil, SW_SHOWNORMAL);

На сколько я понял именно четвертый параметр передает в командную строку ключи запуска программы. В данном случае я хочу добиться выполнения Caspol.exe /?


 
Германн ©   (2006-07-28 00:59) [1]

Вроде бы да. Но смущает отсутствие пути к файлу Caspol.exe в вызове функции.


 
KilkennyCat ©   (2006-07-28 01:04) [2]

у меня работает.


 
KilkennyCat ©   (2006-07-28 01:04) [3]

> [1] Германн ©   (28.07.06 00:59)

нормально. если зарегистрировано.


 
KilkennyCat ©   (2006-07-28 01:05) [4]

к тому же, может у него CasPolPath содержит все.


 
Германн ©   (2006-07-28 01:17) [5]


> к тому же, может у него CasPolPath содержит все.

Я среагировал на
>  я хочу добиться выполнения Caspol.exe /?
и на то, что я, лично, не знаю что такое Caspol.exe.
И, кстати, что значит
> если зарегистрировано.
?
Я до сих пор знал только два способа "вызова" файла без указания пути к нему: либо файл находится в текущей директории, либо в директории прописанной в системной переменной PATH.

Ууу блин! пока писАл ответ ТС искал сей файл у меня на компе и таки нашел! d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CasPol.exe
Ну раз "Microsoft.NET\Framework", наверно "зарегистрировано". :-)


 
KilkennyCat ©   (2006-07-28 01:21) [6]

ну, под зарегистрировано я и имел ввиду, что система знает, куды идти.


 
Германн ©   (2006-07-28 01:28) [7]


> KilkennyCat ©   (28.07.06 01:21) [6]
> ну, под зарегистрировано я и имел ввиду, что система знает,
>  куды идти.

Я понял, но прошу не зачислять меня в разрад "буквоедов"! :-)
Более всего меня изумило, что и меня есть вышеупомянутый файл!
Ну отстал от жизни. Со мной это часто бывает. :-(
Но я умею догонять! Что тоже часто бывало! :-)


 
susergey   (2006-07-28 01:30) [8]

В переменной PAnsiChar(CasPolPath) я и определил путь к CasPol.exe
А что значит
> если зарегистрировано.


 
KilkennyCat ©   (2006-07-28 01:33) [9]

> [8] susergey   (28.07.06 01:30)

ShellExecute(Handle, nil, "caspol.exe", "/?", nil, SW_SHOWNORMAL);
проверено тоже. работает.


 
susergey   (2006-07-28 01:34) [10]

Ну я просто теряюсь, у меня не идет!


 
KilkennyCat ©   (2006-07-28 01:36) [11]

> А что значит
> > если зарегистрировано.


1. прописаны пути, см. [5]
2. расширение файла ассоциировано с исполняемым файлом.


 
KilkennyCat ©   (2006-07-28 01:37) [12]

> [10] susergey   (28.07.06 01:34)


а что получается-то? Как именно "не идет"?


 
susergey   (2006-07-28 01:38) [13]

Вот процедура целиком:

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, я проверял значения переменных пути правильные.


 
susergey   (2006-07-28 01:51) [14]

Спасибо
KilkennyCat ©  & Германн © Я нашел ошибку.
\Microsoft.Net\Framework\v.1.1.4322\CasPol.exe"
Точка после v не нужна, Спасибо, за участие!


 
KilkennyCat ©   (2006-07-28 01:52) [15]

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;


так лучше.


 
KilkennyCat ©   (2006-07-28 01:54) [16]

точку я тож нашел ;) Но Вы - первее. Эт хорошо.


 
susergey   (2006-07-28 01:55) [17]

Спасибо, да действительно, лучше.


 
susergey   (2006-07-28 01:58) [18]

Еще один вопросик, после запуска с нужными мне ключами, консоль возвращает результат или положительный или отрицательный, как мне его скопировать в Memo?


 
KilkennyCat ©   (2006-07-28 02:10) [19]

можно перенаправить в файл,
или http://www.codenet.ru/progr/bcb/pipes.php



Страницы: 1 вся ветка

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.036 c
15-1153988631
PSPF2003
2006-07-27 12:23
2006.08.20
Китай готов взять в Сибири в аренду 1 млн га леса


3-1150544631
Express
2006-06-17 15:43
2006.08.20
Получить случайное число в SQL


2-1154503740
aly
2006-08-02 11:29
2006.08.20
Как создавать объект при инитиализации только в run-time


1-1152087970
Mouserx
2006-07-05 12:26
2006.08.20
Возможности компилятора


2-1153988032
1519
2006-07-27 12:13
2006.08.20
Завершение работы