Assossiação de arquivos
Tenho o seguinte problema:
Estou desenvolvendo um aplicativo que trabalha com arquivos.
Este aplicativo gera arquivos com uma extensão que eu criei,
no entando, quero que esses arquivos criados pelo meu aplicativo
fiquem assossiados a ele, com ícone e tudo. Ou seja, é como se fosse
um arquivo zipado, quando vamos clicar no mesmo sabemos que ele é do
aplicativo winzip, pois, além do ícone o winzip é aberto...
Se alguém puder me ajudar......
Muito Obrigado!
Albert Sena Tanure
Estou desenvolvendo um aplicativo que trabalha com arquivos.
Este aplicativo gera arquivos com uma extensão que eu criei,
no entando, quero que esses arquivos criados pelo meu aplicativo
fiquem assossiados a ele, com ícone e tudo. Ou seja, é como se fosse
um arquivo zipado, quando vamos clicar no mesmo sabemos que ele é do
aplicativo winzip, pois, além do ícone o winzip é aberto...
Se alguém puder me ajudar......
Muito Obrigado!
Albert Sena Tanure
Galouco
Curtidas 0
Respostas
Marconi
15/04/2003
Abra a pasta ´meu computador´ do Windows.
Depois escolha ´Ferramentas´ -> ´Opções de Pasta´
Escolha a aba ´Tipos e Arquivo´
Clique no Botão ´Novo´
Aí é só colocar a sua extensão é indicar o aplicativo que vai abrir este tipo de arquivo.
Marconi
Depois escolha ´Ferramentas´ -> ´Opções de Pasta´
Escolha a aba ´Tipos e Arquivo´
Clique no Botão ´Novo´
Aí é só colocar a sua extensão é indicar o aplicativo que vai abrir este tipo de arquivo.
Marconi
GOSTEI 0
Galouco
15/04/2003
Muito obrigado pela dica, mas quero fazer isso automaticamente através da programação...
GOSTEI 0
Danilo Junior
15/04/2003
procedure CreateShortcut(FileName, Parameters, InitialDir, ShortcutName, ShortcutFolder: Pchar; Place: TShortcutPlace);
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetArguments(Parameters);
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(InitialDir));
end;
MyReg := TRegIniFile.Create(´Software\MicroSoft\Windows\CurrentVersion\Explorer´);
if Place = stDesktop then
Directory := MyReg.ReadString (´Shell Folders´,´Desktop´,´´);
if Place = stStartMenu then
begin
Directory := MyReg.ReadString(´Shell Folders´, ´Start Menu´,´´) + ´\´ +ShortcutFolder;
CreateDir(Directory);
end;
WFileName := Directory + ´\´ + ShortcutName + ´.lnk´;
MyPFile.Save (PWChar (WFileName), False);
MyReg.Free;
end;
Espero que ajude
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetArguments(Parameters);
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(InitialDir));
end;
MyReg := TRegIniFile.Create(´Software\MicroSoft\Windows\CurrentVersion\Explorer´);
if Place = stDesktop then
Directory := MyReg.ReadString (´Shell Folders´,´Desktop´,´´);
if Place = stStartMenu then
begin
Directory := MyReg.ReadString(´Shell Folders´, ´Start Menu´,´´) + ´\´ +ShortcutFolder;
CreateDir(Directory);
end;
WFileName := Directory + ´\´ + ShortcutName + ´.lnk´;
MyPFile.Save (PWChar (WFileName), False);
MyReg.Free;
end;
Espero que ajude
GOSTEI 0
E_gama
15/04/2003
Esse exemplo, é para registrar a extensão ´.hpg´ e associá-la ao Bloco de Notas...
Basta criar a seguinte chave no registro:
[color=blue:8e528a0664]HKEY_CLASSES_ROOT\.hpg\Shell\Open\Command[/color:8e528a0664]
Depois, em [b:8e528a0664](Default) ou (Padrão)[/b:8e528a0664] coloque a linha de comando para abrir a extensão. No caso desse exemplo, ´Notepad.exe ¬1´
Basta criar a seguinte chave no registro:
[color=blue:8e528a0664]HKEY_CLASSES_ROOT\.hpg\Shell\Open\Command[/color:8e528a0664]
Depois, em [b:8e528a0664](Default) ou (Padrão)[/b:8e528a0664] coloque a linha de comando para abrir a extensão. No caso desse exemplo, ´Notepad.exe ¬1´
GOSTEI 0