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.

