Colocar um ATALHO no Desktop do Windows (Em puro MS-DOS)
Enviado: 13 Set 2007 20:23
Quem disse que não podemos elaborar uma rotina para que seja criado "automaticamente" um ATALHO na hora da instalação do nossos sistemas ?. E ainda através de um arquivo de lote (BATCH FILE)... pois é, encontrei duas soluções que existem desde finais de 1999 (uma para WIN98 e outra para WINXP). O link é http://www.robvanderwoude.com/shortcutinf.html o qual basea-se na criação de um arquivo .INF e processado pelo SETUPX.DLL do próprio WINDOWS através do aplicativo RUNDLL.EXE
Peguei um exemplo do autor "Walter Zackery" e modifiquei um pouco para tentar entender esse procedimento. E que vocês poderão conferir abaixo, mas atenção é para WIN98:
Criar um arquivo TESTE.BAT com o seguinte conteúdo:
Depois criar o outro arquivo em lote chamado LINK98.BAT com o seguinte conteúdo:
Depois de criados esses dois arquivos em lote, é só executar o TESTE.BAT que irá criar um ícone do NOTEPAD na áera de trabalho do Windows chamado "ICONE".
Existe outro procedimento para WINXP, mas eu ainda não testei. Acho que poderia ser feito um aplicativo em Clipper que iria criar o arquivo .INF e executar o RUNDLL.EXE ou RUNDLL32.EXE. Para essa questão poderia nos auxiliar com a WAPI.LIB do Maligno para obter caminho correto do DESKTOP (das diferente versões do Windows, XP, 98) e quem sabe o Maligno ainda possa incluir mais estas funções na WAPI ?. O quê você acha Maligno ?. Material parece haver bastante a respeito. Eu encontrei algo que talvez possa a ser familiar à sua linguagem:
http://mail.python.org/pipermail/python ... 15799.html
http://www.mytips123.com/articles/37/1/ ... .LNK)-File
Acho que utilizando a WAPI.LIB irá sintetisar muitas funções que é necessário para a criação de atalhos, seja em WIN98 ou XP.
Peguei um exemplo do autor "Walter Zackery" e modifiquei um pouco para tentar entender esse procedimento. E que vocês poderão conferir abaixo, mas atenção é para WIN98:
Criar um arquivo TESTE.BAT com o seguinte conteúdo:
Código: Selecionar todos
LINK98 C:\WINDOWS\NOTEPAD.EXE C:\WINDOWS\DESKTOP C:\WINDOWS\MENUIN~1\PROGRA~1 ICONECódigo: Selecionar todos
@echo off
::A batch file for Windows 95/98 that creates LNK shortcuts.
::Author: Walter Zackery
::December 2,1999
if %4[==[ goto syntax
if not exist %1 if not exist %1\nul goto syntax
for %%? in (%2 %3) do if not exist %%?\nul goto syntax
%5 %0 %1 %2 %3 %4 rem "PASTA" InstallHinfSection
echo > %temp%\#path#.bat path %path%
path %1
echo > %temp%\#k#.inf [version]
echo >>%temp%\#k#.inf signature="$chicago$"
echo >>%temp%\#k#.inf [DefaultInstall]
echo >>%temp%\#k#.inf UpdateInis=Addlink
echo >>%temp%\#k#.inf [Addlink]
echo >>%temp%\#k#.inf setup.ini, progman.groups,, "group0=%6"
echo >>%temp%\#k#.inf setup.ini, group0,, ""%6""
echo >>%temp%\#k#.inf setup.ini, group0,,""%4",""%path%"",,0,"
for %%? in (call del) do %%? %temp%\#path#.bat
start/w rundll setupx.dll,%7 DefaultInstall 132 %temp%\#k#.inf
::del %temp%\#k#.inf
move %3\PASTA\%4.lnk %2 > nul
rd "%3\PASTA"
goto end
:syntax
for %%? in (cls echo[) do %%?
echo O quarto parametro deve ser passado para o arquivo em lote
echo na mesma ordem. Näo coloque barra-invetida no final de cada
echo parametro que é passado para o arquivo em lote.
echo Nomes longos de arquivo devem estar entre aspas.
echo[
echo O primeiro parametro deve ser o nome do arquivo ou pasta
echo ao qual será acessado pelo atalho criado.
echo[
echo O segundo parametro deve ser o local da pasta onde irá
echo ser criado o atalho.
for %%? in (pause cls echo[) do %%?
echo O terceiro paremetro deve ser o local da pasta onde se encontram
echo seu programas. Essa pasta deve conter a maioria dos acessos pelo
echo menu iniciar e normalmente é C:\Windows\Menu Iniciar\programas.
echo Se voce está usando perfís entäo deve considerar a pasta como
echo c:\Windows\perfis\%%username%%\Menu Iniciar\Programas, onde
echo %%username%% é o nome do usuário. Note que se informar errado
echo a localizaçäo da pasta de Programas, o atalho irá ser criado
echo mas ele näo será movido para a pasta que foi especificada.
echo No entanto o arquivo irá permanecer no Menu Iniciar com o nome
echo de PASTA.
echo[
echo O quarto parametro deve ser a descrição e nome que voce que dar
echo para o atalho. Näo adicione a extensäo para o nome ao menos
echo que voce queira que faça parte do nome do atalho.
:endExiste outro procedimento para WINXP, mas eu ainda não testei. Acho que poderia ser feito um aplicativo em Clipper que iria criar o arquivo .INF e executar o RUNDLL.EXE ou RUNDLL32.EXE. Para essa questão poderia nos auxiliar com a WAPI.LIB do Maligno para obter caminho correto do DESKTOP (das diferente versões do Windows, XP, 98) e quem sabe o Maligno ainda possa incluir mais estas funções na WAPI ?. O quê você acha Maligno ?. Material parece haver bastante a respeito. Eu encontrei algo que talvez possa a ser familiar à sua linguagem:
http://mail.python.org/pipermail/python ... 15799.html
http://www.mytips123.com/articles/37/1/ ... .LNK)-File
Acho que utilizando a WAPI.LIB irá sintetisar muitas funções que é necessário para a criação de atalhos, seja em WIN98 ou XP.