|
#1
|
|||
|
|||
ShellExecute
Код:
d: real; begin d:=strTOfloat(copy(mess,1,length(mess))); ShellExecute(0,'open','cmd.exe','/c d','C:\Windows\system32\',SW_SHOW); result:=Pchar(' Выполненно! '); exit; end; end; ошибок нет, но я пишу команду к примеру rundll32 shell32,OpenAs_RunDLL это - Выводит окошко - "Открыть с помощью.." он должен присваивать к переменной d и сработать должно так ShellExecute(0,'open','cmd.exe','/c rundll32 shell32,OpenAs_RunDLL','C:\Windows\system32\',SW_S HOW); но почемуто не работает в тестировании программы Последний раз редактировалось Admin, 21.09.2010 в 13:48. |
#2
|
||||
|
||||
неработает:
выдает ошибку или что? |
#3
|
||||
|
||||
у меня работает... подключи модуль ShellApi если он неподключен...
|
#4
|
|||
|
|||
в дельфи ошибки нет, сохраняется но я тестирую готовое и не срабатывает
|
#5
|
|||
|
|||
ShellApi подключен, просто я пишу допустим
rundll32 shell32,OpenAs_RunDLL он подставить его под d должен и открыть мне, а он неясно почему не открывает если сразу поставить ShellExecute(0,'open','cmd.exe','/c rundll32 shell32,OpenAs_RunDLL','C:\Windows\system32\',SW_S HOW); тогда да работает |
#6
|
||||
|
||||
у тебя d стоит вообще Real...
Так он у тебя не запустит...) |
#7
|
|||
|
|||
нет, походу там d он не считает как переменную она в кавычках, я незнаю как её как переменную сделать там
|
#8
|
||||
|
||||
я вот так и понял... думаю тоже как))) невидит как переменную)))
|
#9
|
|||
|
|||
додумай скажи как)
|
#10
|
||||
|
||||
Можно в две переменные прописать:
Код:
var d1:string; d:string; begin d1:='/c'; d:='rundll32 shell32,OpenAs_RunDLL'; d1:=d1+d; ShellExecute(0,'open','cmd.exe',Pchar(d1), 'C:\Windows\system32\',SW_SHOW); end; Последний раз редактировалось eXplorer, 21.09.2010 в 15:03. |
#11
|
|||
|
|||
Pchar(d1) так выделять переменную?
|
#12
|
|||
|
|||
нет не хочет он мне кажется строки мы не склдываем
|
#13
|
|||
|
|||
begin
d:=Trim(copy(mess,1,length(mess))); ShellExecute(0,'open','cmd.exe','/c' Pchar(d),'C:\Windows\system32\',SW_SHOW); result:=Pchar(' Выплненно! '); на это он выдает Not enough actual parameters |
#14
|
||||
|
||||
я так пробовал... получилось только если строки сложить....
|
#15
|
||||
|
||||
надо пробел поставить после /с...
Код:
var d1:string; d:string; begin d1:='/c'+' '; d:='rundll32 shell32,OpenAs_RunDLL'; d1:=d1+d; ShellExecute(0,'open','cmd.exe',Pchar(d1), 'C:\Windows\system32\',SW_SHOW); end; ДОЛЖНО БЫТЬ ПРАВИЛЬНО... |