Jump to content
Fivewin Brasil

Como criar icone na área de trabalho


ecmsoft

Recommended Posts

FL_CRIAR_ICONE_ATALHO()

*----------------------------------------------------------**
    FUNCTION FL_CRIAR_ICONE_ATALHO()
**----------------------------------------------------------**
Local aShortCut, oWSHShell

IF FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
   RETURN
ENDIF

IF !MsgYesNo('Não foi localizado o Icone na area de Trabalho,'+CRLF+'Deseja Criar Agora ?','Aviso do Sistema')
   RETURN
ENDIF

TRY
   oWSHShell:= CreateObject("WScript.Shell")
CATCH error
   MsgStop("Não foi possivel criar o icone na area de trabalho, Favor revisar","Atenção")
   RETURN .F.
END

IF IsDirectory(GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop" ) = .F.
   Release oWSHShell
   RETURN .F.
ENDIF
aShortCut:=oWSHShell:CreateShortcut(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
aShortCut:TargetPath:=CAMINHO_EXE()+'\'+ NomeExecutavel() //GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop"
aShortCut:WorkingDirectory := CAMINHO_EXE()+'\'
//aShortCut:IconLocation     := "DC:\sistem\icone.ico" //icone do sistema
aShortCut:Save()
Release oWSHShell
IF !FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema+'.lnk')
   Return .F.
ENDIF
Return .T.

*NomeExecutavel()    // verefica o nome
*NomeExecutavel(.t.) // verefica o caminho
********************************************************************************
FUNCTION NOMEEXECUTAVEL(lPath)
LOCAL nPos, cRet
If Empty(lpath)
   nPos:= RAT("\", hb_argv(0))
   cRet:= substr(hb_argv(0), nPos+1)
else
   cRet:= hb_argv(0)
endif
Return cRet
********************
*Retorna o caminho do EXE
FUNCTION CAMINHO_EXE
Return(Substr(NomeExecutavel(.t.),1,(len(NomeExecutavel(.t.))- len(NomeExecutavel()))-1 ))
Link to comment
Share on other sites


#include "FiveWin.ch"
#Include "Directry.ch"

// Funcao Para Ciar um Icone na Area de Trabalho, autor desconhecido.
//
// Special Thanks Sergio Oliveira - <SAOliveira> FiveWin Brasil.

FUNCTION Main() // Menu Principal

FL_CRIAR_ICONE_ATALHO()

RETURN NIL

FUNCTION FL_CRIAR_ICONE_ATALHO()

LOCAL aShortCut, oWSHShell, DV_Sistema, Error

//DV_Sistema := "Vendas" // Ex: VENDAS.EXE
// Pegando o nome do executavel
DV_Sistema := DIRECTORY( GetModuleFileName( GetInstance() ) )

// ? DV_Sistema[1,1]

IF FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema[1,1]+'.lnk')

RETURN NIL

ENDIF

IF .NOT. MsgYesNo( 'Não foi localizado o Icone na area de Trabalho,'+CRLF+ ;
'Deseja Criar Agora ?', 'Aviso do Sistema' )
RETURN NIL

ENDIF

TRY
oWSHShell:= CreateObject("WScript.Shell")

CATCH Error

MsgStop("Não foi possivel criar o icone na area de trabalho, Favor revisar","Atenção")

RETURN .F.
END

IF IsDirectory(GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop" ) = .F.

Release oWSHShell

RETURN .F.

ENDIF

aShortCut:=oWSHShell:CreateShortcut(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema[1,1]+'.lnk')

aShortCut:TargetPath := CAMINHO_EXE()+'\'+ NomeExecutavel() //GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop"

aShortCut:WorkingDirectory := CAMINHO_EXE()+'\'

aShortCut:IconLocation := "C:\FWH1306\ICONS\CAR.ICO" //icone do sistema

aShortCut:Save()

Release oWSHShell

IF .NOT. FILE(GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop\'+DV_Sistema[1,1]+'.lnk')

RETURN( .F. )

ENDIF

Return .T.

*NomeExecutavel() // verefica o nome
*NomeExecutavel(.t.) // verefica o caminho
********************************************************************************
FUNCTION NOMEEXECUTAVEL(lPath)

LOCAL nPos, cRet

If Empty(lpath)
nPos:= RAT("\", hb_argv(0))
cRet:= substr(hb_argv(0), nPos+1)
else
cRet:= hb_argv(0)
endif

Return cRet

********************
*Retorna o caminho do EXE
FUNCTION CAMINHO_EXE

Return(Substr(NomeExecutavel(.t.),1,(len(NomeExecutavel(.t.)) - len(NomeExecutavel()))-1 ))

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...