Tipo o auto-run do norton 2003
- Estou criando um executavel que irá abri no Auto-Run de um CD que irei gravar. esse executavel será responsavel pela instalacao dos sistemas que tem nesse CD (tipo o auto-run do norton 2003).
- A questão é que quero que ao clicar no botao para instalar o programa desejado, esse executável verifique qual é a letra do drive de CD, para nao dar erro caso eu mande WinExec o drive D:\ , e o usuario esteje usando o drive e:\ .
- implementei um codigo, mas nao funcionou porque falta um detalhe que ainda nao consegui descobrir... O código está ai embaixo. Quem puder me ajudar nele ficarei grato :lol:
--------------------------------**-------------------------------------------------
Declare uso da biblioteca MMSystem na área uses da Unit
-------------------------------**--------------------------------------------------
Código:
---------
-----------------------
Chamar a instalacao:
------------------------
[b:3240650de7][color=red:3240650de7]Título editado pelo Moderador (AZ)[/color:3240650de7][/b:3240650de7]
- A questão é que quero que ao clicar no botao para instalar o programa desejado, esse executável verifique qual é a letra do drive de CD, para nao dar erro caso eu mande WinExec o drive D:\ , e o usuario esteje usando o drive e:\ .
- implementei um codigo, mas nao funcionou porque falta um detalhe que ainda nao consegui descobrir... O código está ai embaixo. Quem puder me ajudar nele ficarei grato :lol:
--------------------------------**-------------------------------------------------
Declare uso da biblioteca MMSystem na área uses da Unit
-------------------------------**--------------------------------------------------
Código:
---------
function GetCDRomDrive(out DriveLetter: Char): Boolean; var Drive: array[0..3] of Char; C: Char; begin StrPCopy(Drive, ´A:\´); for C := ´A´ to ´Z´ do begin if GetDriveType(Drive) = DRIVE_CDROM then begin Result := True; DriveLetter := C; Exit; end; Inc(Drive[0]); end; Result := False; end;
-----------------------
Chamar a instalacao:
------------------------
procedure TForm1.Btn_instalarClick(Sender: TObject); begin var Drive: Char; begin if GetCDRomDrive(Drive) then begin [color=red]// O problema se encontra bem nessa parte do codigo[/color] winexec(´drive:\meu_programa\programa.exe´) end; end; end;
[b:3240650de7][color=red:3240650de7]Título editado pelo Moderador (AZ)[/color:3240650de7][/b:3240650de7]
Mahdak
Curtidas 0
Respostas
Afarias
11/03/2004
Bom... o auto-run vai rodar do CD, então pq vc não simplesmente executa os programas usando caminhos relativos??
Ou então, Lê o Application.ExeName e vê o drive de onde foi executado (Drive:=Application.ExeName[1])??
T+
Ou então, Lê o Application.ExeName e vê o drive de onde foi executado (Drive:=Application.ExeName[1])??
T+
GOSTEI 0
Mahdak
11/03/2004
Sim o auto-run vai rodar do cd, mas nao entendi o que vc quiz me passar...
desculpe a minha ignorancia :oops:
--------
Valleu!!
desculpe a minha ignorancia :oops:
--------
Valleu!!
GOSTEI 0