conteúdo do cd
[size=18:6be0c851a7]O que quero fazer é o seguinte:
Criei um CD-ROM que abre o programa utilizando o autorun.inf.
Neste programa tem um botão que, ao ser clicado, deverá mostrar o conteúdo do CD.
Como deverá ser o código desse botão?
Valeu,[/size:6be0c851a7]
Favor postar com título em minúsculas
Zoom
Administrador
Criei um CD-ROM que abre o programa utilizando o autorun.inf.
Neste programa tem um botão que, ao ser clicado, deverá mostrar o conteúdo do CD.
Como deverá ser o código desse botão?
Valeu,[/size:6be0c851a7]
Favor postar com título em minúsculas
Zoom
Administrador
Tenil
Curtidas 0
Respostas
Beppe
15/12/2003
ShellExecute(0, ´´, PChar(GetCDDriveString), nil, nil, SW_SHOWNORMAL);
Adicione ShellAPI ao uses.
PS: Não precisa usar uma letra tão grande, eu ainda enxergo perfeitamente. :(
GOSTEI 0
Tenil
15/12/2003
Valeu,
Só tem um probleminha, no XP rodou legal, mas no W98 não funcionou.
Vc sabe por que?
Obrigado
Só tem um probleminha, no XP rodou legal, mas no W98 não funcionou.
Vc sabe por que?
Obrigado
GOSTEI 0
Beppe
15/12/2003
O que exatamente teria de acontecer e não aconteceu?
GOSTEI 0
Tenil
15/12/2003
Mano, já resolvi, fiz uma pequena modificação do código:
Escrevi:
Ao invés de:
Muito obrigado brother, ;)
Escrevi:
ShellExecute(handle, ´OPEN´, PChar(ExtractFilePath(Application.ExeName)), NIL, NIL, SW_SHOWNORMAL);
Ao invés de:
ShellExecute(0, ´´, PChar(GetCDDriveString), nil, nil, SW_SHOWNORMAL);
Muito obrigado brother, ;)
GOSTEI 0
Beppe
15/12/2003
Como funcionou no XP, se eu esqueci de postar a rotina?! :?
Mas a alternativa que você encontrou é prática e até preferível, já que se o conteúdo do CD for movido para outra pasta, aquela pasta será aberta.
Estou postando ela aqui agora, só para não ficar uma lacuna no tópico. :D
Mas a alternativa que você encontrou é prática e até preferível, já que se o conteúdo do CD for movido para outra pasta, aquela pasta será aberta.
Estou postando ela aqui agora, só para não ficar uma lacuna no tópico. :D
function GetCDDriveString: String; var C: Char; begin for C := ´A´ to ´Z´ do begin Result := C + ´:\´; if GetDriveType(Pointer(Result)) = DRIVE_CDROM then Exit; end; Result := ´´; end;
GOSTEI 0
Tenil
15/12/2003
Tem razão, só funcionou depois que mudei o código, mesmo assim, obrigado. :oops:
O código que funcionou no XP e 2000 foi:
Para funcionar no W98 só estava faltando a palavra de operação [b:9a37e76110]´open´[/b:9a37e76110]:
O código que funcionou no XP e 2000 foi:
ShellExecute(handle, ´´, PChar(ExtractFilePath(Application.ExeName)), NIL, NIL, SW_SHOWNORMAL);
Para funcionar no W98 só estava faltando a palavra de operação [b:9a37e76110]´open´[/b:9a37e76110]:
ShellExecute(handle, ´OPEN´, PChar(ExtractFilePath(Application.ExeName)), NIL, NIL, SW_SHOWNORMAL);
GOSTEI 0