unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RzLabel, ExtCtrls, jpeg, RzPanel, Mask, RzEdit, RzBtnEdt,
RzButton, FileCtrl, Registry,ShellAPI;type
TForm1 = class(TForm)
Image1: TImage;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzGroupBox1: TRzGroupBox;
RzButtonEdit1: TRzButtonEdit;
RzButtonEdit2: TRzButtonEdit;
RzBitBtn1: TRzBitBtn;
FileOpenDialog1: TFileOpenDialog;
procedure RzButtonEdit1ButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzButtonEdit2ButtonClick(Sender: TObject);
private
{ Private declarations }
public
procedure SeekDir;
{ Public declarations }
end;var
Form1: TForm1;
Ddir: string;implementation{$R *.dfm}procedure TForm1.SeekDir;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Uninstall\', false);
if reg.KeyExists('Embarcadero RAD Studio 2010') then
if reg.KeyExists('RAD Studio') then
begin
RzLabel1.Caption := '版本: Embarcadero RAD Studio 2010 & RAD Studio';
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Uninstall\Embarcadero RAD Studio 2010', false);
ddir:='"'+reg.ReadString('installLocation')+'\bin\brcc32'+'"';
end
else
RzLabel1.Caption := '版本: Embarcadero RAD Studio 2010'
else if reg.KeyExists('RAD Studio') then
begin
RzLabel1.Caption := '版本: RAD Studio';
ddir:='"'+reg.ReadString('installLocation')+'\bin\brcc32'+'"';
end;
reg.Destroy;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
SeekDir;
end;procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
SPath,EPath,S:string;
begin
SPath:=' "'+RzButtonEdit1.Text+'"';
EPath:=' "'+RzButtonEdit2.Text+'"';
S:=' /k '+ddir+spath+epath ;
ShellExecute(Handle,nil,'cmd.exe',PWideChar(s),nil,SW_SHOW);
// ShowMessage(s);
end;procedure TForm1.RzButtonEdit1ButtonClick(Sender: TObject);
var
sdir: string;
begin
if FileOpenDialog1.Execute then
begin
RzButtonEdit1.Text := FileOpenDialog1.FileName;
RzButtonEdit2.Text := ExtractFilePath(FileOpenDialog1.FileName);
end;
end;procedure TForm1.RzButtonEdit2ButtonClick(Sender: TObject);
begin
if FileOpenDialog1.Execute then
RzButtonEdit2.Text := FileOpenDialog1.FileName;
end;end.点击RzBitBtn1后会显示 'D:\Program' 不是内部或外部命令,也不是可运行的程序 的错误,但是我已经在路径上加入双引号了啊
希望经过亲自测试后再做回答 谢谢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RzLabel, ExtCtrls, jpeg, RzPanel, Mask, RzEdit, RzBtnEdt,
RzButton, FileCtrl, Registry,ShellAPI;type
TForm1 = class(TForm)
Image1: TImage;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzGroupBox1: TRzGroupBox;
RzButtonEdit1: TRzButtonEdit;
RzButtonEdit2: TRzButtonEdit;
RzBitBtn1: TRzBitBtn;
FileOpenDialog1: TFileOpenDialog;
procedure RzButtonEdit1ButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzButtonEdit2ButtonClick(Sender: TObject);
private
{ Private declarations }
public
procedure SeekDir;
{ Public declarations }
end;var
Form1: TForm1;
Ddir: string;implementation{$R *.dfm}procedure TForm1.SeekDir;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Uninstall\', false);
if reg.KeyExists('Embarcadero RAD Studio 2010') then
if reg.KeyExists('RAD Studio') then
begin
RzLabel1.Caption := '版本: Embarcadero RAD Studio 2010 & RAD Studio';
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Uninstall\Embarcadero RAD Studio 2010', false);
ddir:='"'+reg.ReadString('installLocation')+'\bin\brcc32'+'"';
end
else
RzLabel1.Caption := '版本: Embarcadero RAD Studio 2010'
else if reg.KeyExists('RAD Studio') then
begin
RzLabel1.Caption := '版本: RAD Studio';
ddir:='"'+reg.ReadString('installLocation')+'\bin\brcc32'+'"';
end;
reg.Destroy;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
SeekDir;
end;procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
SPath,EPath,S:string;
begin
SPath:=' "'+RzButtonEdit1.Text+'"';
EPath:=' "'+RzButtonEdit2.Text+'"';
S:=' /k '+ddir+spath+epath ;
ShellExecute(Handle,nil,'cmd.exe',PWideChar(s),nil,SW_SHOW);
// ShowMessage(s);
end;procedure TForm1.RzButtonEdit1ButtonClick(Sender: TObject);
var
sdir: string;
begin
if FileOpenDialog1.Execute then
begin
RzButtonEdit1.Text := FileOpenDialog1.FileName;
RzButtonEdit2.Text := ExtractFilePath(FileOpenDialog1.FileName);
end;
end;procedure TForm1.RzButtonEdit2ButtonClick(Sender: TObject);
begin
if FileOpenDialog1.Execute then
RzButtonEdit2.Text := FileOpenDialog1.FileName;
end;end.点击RzBitBtn1后会显示 'D:\Program' 不是内部或外部命令,也不是可运行的程序 的错误,但是我已经在路径上加入双引号了啊
希望经过亲自测试后再做回答 谢谢
解决方案 »
- 为什么Delphi测试程序时,程序运行超慢???
- 请问如何打开res文件
- 读文本文件。在线等!!谢谢
- FastReport 在DELPHI5.0 装起来了但出现:Line too long [more than 1023 charachers]错误
- Delphi下 利用mapx翻译位置信息的问题
- 请教关于label中字的显示问题!
- 寻找加密与解密函数,谢谢。
- sqlserver 导入excel '01 变为 1 如何解决?
- 怎样使用程序打开WINDOWS2000的控制面板和网卡的IP地址设置对话框
- 请教一个简单的问题,快来抢分啊
- delphi中clientdataset如何得知applyupdate后有错误发生
- dll中的提示窗口
我试了很多次了,并且用showmessge函数显示是正确的 郁闷 能不能先编译一下我的代码再回答? 麻烦了
ddir:='"'+reg.ReadString('installLocation')+'\bin\brcc32'+'"';已经加了
要做编译工具?
我不会cmd,up 一下。