Initial commit - tasks v1.1.14
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
545
programe/main.prg
Normal file
545
programe/main.prg
Normal file
@@ -0,0 +1,545 @@
|
||||
Lparameters tcSilent, tcCommand
|
||||
* tcSilent (optional): s (silentios) pentru rularea unei comenzi fara afisarea formularului
|
||||
* tcCommand (optional): xml_roa_auto pentru generarea automata a xml-urilor ROA cu programe
|
||||
|
||||
*!* 25.01.2011
|
||||
*!* marius.mutu
|
||||
*!* settings.ini - hostserii, usernameserii, passwordserii
|
||||
Local lcHost, lcHostSerii, lcPassword, lcPasswordSerii, lcText, lcUserName, lcUserNameSerii
|
||||
Local lnSucces
|
||||
Store "" To lcHost, lcHostSerii, lcPassword, lcPasswordSerii, lcText, lcUserName, lcUserNameSerii
|
||||
lnSucces = 0
|
||||
|
||||
LOCAL llSilent, lcCommand
|
||||
llSilent = IIF(PCOUNT() > 0, LOWER(tcSilent) = 's', .F.)
|
||||
lcCommand = IIF(PCOUNT() > 1, LOWER(m.tcCommand), '') && xml_roa_auto
|
||||
|
||||
*:Global gcProgrameChangeLogsFile
|
||||
*!* IF TooManyInstances(1) &&Too many instance already running?
|
||||
*!* QUIT
|
||||
*!* ENDIF
|
||||
|
||||
Set Talk Off
|
||||
Set Deleted On
|
||||
Set Century On
|
||||
Set Date Dmy SHORT
|
||||
Set Safety Off
|
||||
Set Console Off
|
||||
Set Seconds Off
|
||||
Set Exclusive Off
|
||||
Set Status Off
|
||||
Set Status Bar Off
|
||||
Set Hours To 24
|
||||
Set Exact On
|
||||
Set Ansi On
|
||||
_Screen.Caption = 'TASKS'
|
||||
_Screen.WindowState= 2
|
||||
Set NullDisplay To ""
|
||||
*!* =================================================================
|
||||
Public gnIdProgram, gnIdUtilizator, ;
|
||||
gnIdClient, gbSpecial, gdData, gcAppName, gcAppPath, gcDataPath, gcTempPath, gnhandle, gcIcon
|
||||
Local lcPath, liat
|
||||
|
||||
gnhandle = -1
|
||||
gnIdUtilizator = 0
|
||||
gnIdProgram = 0
|
||||
gnIdClient = 0
|
||||
gbSpecial = .F.
|
||||
gdData = Date()
|
||||
gcAppPath = Addbs(Justpath(Sys(16,0)))
|
||||
gcAppPath = Strtran(Upper(gcAppPath),"PROGRAME\","")
|
||||
gcAppName = Juststem(Sys(16,0))
|
||||
Set Default To (gcAppPath)
|
||||
|
||||
gcDataPath = Addbs(gcAppPath) + [clase\test.vcx]
|
||||
Set Classlib To (gcDataPath)
|
||||
|
||||
gcTempPath = Addbs(Sys(2023))
|
||||
|
||||
On Shutdown Shutdown()
|
||||
On Error ErrorHandler(Error(),Program(),Lineno())
|
||||
Push Menu _Msysmenu
|
||||
|
||||
*!* PROGRAME_CHANGELOGS
|
||||
gcProgrameChangeLogsFile = gcAppPath + 'programe_changelogs.xml'
|
||||
If !File(gcProgrameChangeLogsFile)
|
||||
Create Cursor programe_changelogs (id_program i, Program v(100), changelog v(200))
|
||||
Else
|
||||
Xmltocursor(gcProgrameChangeLogsFile,"programe_changelogs",512)
|
||||
Endif
|
||||
*!* PROGRAME_CHANGELOGS ^
|
||||
|
||||
Set Default To (gcAppPath) && generare script
|
||||
lcPath = gcAppPath + ";" + ;
|
||||
gcAppPath + "ferestre;" + ;
|
||||
gcAppPath + "ferestre;" + ;
|
||||
gcAppPath + "clase;" + ;
|
||||
gcAppPath + "programe;" + ;
|
||||
gcAppPath + "meniuri;" + ;
|
||||
gcAppPath + "rapoarte;" + ;
|
||||
gcAppPath + "grafice;" + ;
|
||||
gcAppPath + "clase\GridExtras;"
|
||||
|
||||
Set Path To (lcPath) Additive
|
||||
|
||||
Set Procedure To proceduri.prg Additive && tasks, soft clienti
|
||||
Set Procedure To proceduri_sql.prg Additive
|
||||
Set Procedure To utile.prg Additive
|
||||
Set Procedure To rapoarte.prg Additive
|
||||
Set Procedure To htmlmerge.prg Additive
|
||||
|
||||
Set Classlib To appwiz Additive && generare script
|
||||
Set Classlib To comun Additive
|
||||
Set Classlib To Start Additive
|
||||
Set Classlib To execute_script Additive
|
||||
Set Classlib To systray Additive
|
||||
|
||||
Set Classlib To generare_script Additive
|
||||
Set Classlib To gridextras Additive
|
||||
|
||||
Set Procedure To oproceduri_comune.prg Additive
|
||||
Set Procedure To ini.prg Additive
|
||||
|
||||
Set Procedure To "rbInputBox.prg" Additive
|
||||
Set Procedure To regex.prg Additive
|
||||
|
||||
Set Library To gcAppPath + 'biblioteci\vfpcompression.fll' && v 1.0.39
|
||||
*!* 30.08.2010
|
||||
Private gcReportPreviewer, gcReportPreviewerPath
|
||||
gcReportPreviewer = "FoxyPreview" && rapoarte.prg
|
||||
gcReportPreviewerPath = gcAppPath + 'utile\'
|
||||
*!* 30.08.2010 ^
|
||||
|
||||
Private lcIniFile
|
||||
Local lcidutilizator
|
||||
|
||||
gcIcon = [news1.ico]
|
||||
If File(Addbs(gcAppPath) + [grafice\] + gcIcon)
|
||||
Private goSystray
|
||||
goSystray = Createobject("osystray")
|
||||
*!* Bindevent(_Screen,[Resize],goSystray,[minimizeaza],1)
|
||||
Bindevent(_Screen,[rightclick],goSystray,[clickdreapta],1)
|
||||
|
||||
Else
|
||||
Messagebox([Nu s-a gasit icoana cu adresa:] + Chr(13) + Chr(10) +;
|
||||
ADDBS(gcAppPath) + [grafice\] + gcIcon,0 + 48)
|
||||
Endif
|
||||
|
||||
lcIniFile = gcAppPath + 'settings.ini'
|
||||
|
||||
*goExecutor = Createobject("oExecutor")
|
||||
*Do (gcAppPath + "meniu.mpr")
|
||||
If !File(lcIniFile)
|
||||
Set Textmerge On To Memvar lcTextIni
|
||||
\[connection]
|
||||
\host=ROA_ROMFAST
|
||||
\username=SOFT
|
||||
\password=SOFT
|
||||
\host_serii=ROA_CENTRAL
|
||||
\username_serii=SOFT_SERII
|
||||
\password_serii=123
|
||||
\host_database=ROA_CENTRAL
|
||||
\username_database=CONTAFIN_ORACLE
|
||||
\password_database=ROMFASTSOFT
|
||||
\idutilizator=
|
||||
Set Textmerge To
|
||||
Strtofile(lcTextIni, lcIniFile)
|
||||
Endif
|
||||
|
||||
|
||||
|
||||
lcHost = ReadINI(lcIniFile, "connection", "host")
|
||||
lcUserName = ReadINI(lcIniFile, "connection", "username")
|
||||
lcPassword = ReadINI(lcIniFile, "connection", "password")
|
||||
lcidutilizator = ReadINI(lcIniFile, "connection", "idutilizator")
|
||||
|
||||
*!* 25.01.2011
|
||||
lcHostSerii = ReadINI(lcIniFile, "connection", "host_serii")
|
||||
lcUserNameSerii = ReadINI(lcIniFile, "connection", "username_serii")
|
||||
lcPasswordSerii = ReadINI(lcIniFile, "connection", "password_serii")
|
||||
*!* 25.01.2011 ^
|
||||
|
||||
*!* 27.05.2013
|
||||
lcHostDatabase = ReadINI(lcIniFile, "connection", "host_database")
|
||||
lcUserNameDatabase = ReadINI(lcIniFile, "connection", "username_database")
|
||||
lcPasswordDatabase = ReadINI(lcIniFile, "connection", "password_database")
|
||||
*!* 27.05.2013 ^
|
||||
|
||||
If Empty(lcHost) Or Empty(lcUserName) Or Empty(lcPassword) Or ;
|
||||
EMPTY(lcHostSerii) Or Empty(lcUserNameSerii) Or Empty(lcPasswordSerii) Or ;
|
||||
EMPTY(lcHostDatabase) Or Empty(lcHostDatabase) Or Empty(lcHostDatabase)
|
||||
Messagebox('Completati detaliile de login pentru SOFT@ROA_ROMFAST, SOFT_SERII@ROA_CENTRAL, CONTAFIN_ORACLE@ROA_CENTRAL' + lcIniFile, 0+48, _Screen.Caption)
|
||||
Else
|
||||
|
||||
|
||||
|
||||
Private poLog,goLog && obiect pt logarea mesajelor sistemului
|
||||
goLog = Newobject("Log_Mesaje","Log_Mesaje.prg")
|
||||
|
||||
Private goExecutor, goConn
|
||||
goExecutor = Createobject("oExecutor")
|
||||
goConn = Createobject("oConn")
|
||||
|
||||
Local lcMenu
|
||||
lcMenu = "meniu.mpr"
|
||||
|
||||
Release goApp
|
||||
Public goApp
|
||||
goApp = Createobject("cApplication")
|
||||
goApp.AddProperty("cIniFile", lcIniFile)
|
||||
goApp.AddProperty("cHost", lcHost)
|
||||
goApp.AddProperty("cUserName", lcUserName)
|
||||
goApp.AddProperty("cPassword", lcPassword)
|
||||
goApp.AddProperty("cIdUtilizator", Alltrim(lcidutilizator))
|
||||
goApp.AddProperty("IdUtilizator", Val(Alltrim(lcidutilizator)))
|
||||
goApp.AddProperty("cUtilizator", '')
|
||||
|
||||
goApp.AddProperty("cHostSerii", lcHostSerii)
|
||||
goApp.AddProperty("cUserNameSerii", lcUserNameSerii)
|
||||
goApp.AddProperty("cPasswordSerii", lcPasswordSerii)
|
||||
|
||||
|
||||
goApp.AddProperty("cHostDatabase", lcHostDatabase)
|
||||
goApp.AddProperty("cUserNameDatabase", lcUserNameDatabase)
|
||||
goApp.AddProperty("cPasswordDatabase", lcPasswordDatabase)
|
||||
|
||||
|
||||
goApp.AddProperty("cMenu",lcMenu)
|
||||
goApp.AddProperty("nhandle", 0)
|
||||
|
||||
*!* completez inifile cu prefixele scripturilor pe scheme
|
||||
lcText = Filetostr(goApp.cIniFile)
|
||||
|
||||
If Atc("[script]",lcText) = 0
|
||||
lcText = ''
|
||||
TEXT TO m.lcText NOSHOW
|
||||
|
||||
[script]
|
||||
CONTAFIN_ORACLE=CO_
|
||||
SCHEMAROA=FF_
|
||||
SOFT_SERII=RF_
|
||||
SYS=SYS_
|
||||
CONTABILITATE=JCS_
|
||||
|
||||
ENDTEXT
|
||||
Strtofile(Chr(13) + Chr(10) + m.lcText,goApp.cIniFile,1)
|
||||
Endif
|
||||
|
||||
Create Cursor dual (Info c(10))
|
||||
Insert Into dual (Info) Values ("dummy")
|
||||
|
||||
Set Step On
|
||||
*!* completez inifile cu prefixele scripturilor pe scheme ^
|
||||
*!* conectare
|
||||
conectare(lcHost, lcUserName, lcPassword, lcidutilizator)
|
||||
*!* conectare ^
|
||||
|
||||
If gnhandle > 0
|
||||
Local llReturn
|
||||
llReturn = .F.
|
||||
|
||||
lnSucces = goExecutor.oexecute([select users.login, users.id from users ] + ;
|
||||
[inner join roles_users on user_id=users.id inner join roles on role_id=roles.id ] + ;
|
||||
[where roles.id=2 order by 1],"crsUtilizatori")
|
||||
|
||||
|
||||
goLog.Log('silent: ' + TRANSFORM(m.llSilent) + ' command: ' + m.lcCommand, PROGRAM())
|
||||
IF m.llSilent AND !EMPTY(m.lcCommand)
|
||||
IF m.lcCommand = "xml_roa_auto"
|
||||
goLog.Log('genereaza_xml_roa_tot', PROGRAM())
|
||||
DO genereaza_xml_roa_tot IN proceduri.prg
|
||||
ENDIF
|
||||
ELSE
|
||||
Do Form ("frm_connect.scx") To llReturn
|
||||
If llReturn
|
||||
WriteINI(goApp.cIniFile, "connection", "idutilizator", Alltrim(Transform(goApp.idutilizator)))
|
||||
goApp.cUtilizator = Alltrim(crsUtilizatori.login)
|
||||
|
||||
Private goConfig
|
||||
goConfig = Createobject("Config")
|
||||
|
||||
Do (lcMenu)
|
||||
*goApp.cStartupMenu = gcAppPath + "meniu.mpx"
|
||||
|
||||
*!* 29.08.2011
|
||||
*** TEST MENUHIT
|
||||
If File(gcAppPath + "FOXCODE.DBF")
|
||||
* _FOXCODE = gcAppPath + "foxcode.dbf"
|
||||
Endif
|
||||
*!* 29.08.2011 ^
|
||||
editLucrare()
|
||||
Read Events
|
||||
|
||||
On Error
|
||||
On Shutdown
|
||||
Do deconectare
|
||||
|
||||
cleanup()
|
||||
|
||||
Endif && llReturn
|
||||
ENDIF && m.llSilent
|
||||
Endif && gnHandle
|
||||
Endif
|
||||
cleanup()
|
||||
|
||||
|
||||
*!* =================================================================
|
||||
*!* =================================================================
|
||||
Function ErrorHandler(nError, cMethod, nLine)
|
||||
Local lcErrorMsg,lcCodeLineMsg
|
||||
|
||||
Wait Clear
|
||||
lcErrorMsg = Message() + Chr(13) + Chr(13)
|
||||
lcErrorMsg = lcErrorMsg + "Method: " + cMethod
|
||||
lcCodeLineMsg = Message(1)
|
||||
If Between(nLine, 1, 10000) And Not lcCodeLineMsg = "..."
|
||||
lcErrorMsg = lcErrorMsg + Chr(13) + "Line:" + Space(5) + Alltrim(Str(nLine))
|
||||
If Not Empty(lcCodeLineMsg)
|
||||
lcErrorMsg = lcErrorMsg + Chr(13) + Chr(13) + lcCodeLineMsg
|
||||
Endif
|
||||
Endif
|
||||
If Messagebox(lcErrorMsg, 17, _Screen.Caption) # 1
|
||||
On Error
|
||||
On Shutdown
|
||||
Quit
|
||||
Endif
|
||||
Endfunc
|
||||
|
||||
|
||||
**=============================================
|
||||
Function Shutdown
|
||||
*!* If Type("goAppTask")=="O" And Not Isnull(goApp)
|
||||
*!* Return goAppTask.OnShutDown()
|
||||
*!* Endif
|
||||
Do salveazaSetari
|
||||
If Type('goApp') = 'O'
|
||||
Return goApp.onShutDown()
|
||||
Endif
|
||||
|
||||
Do deconectare
|
||||
*!* cleanup()
|
||||
|
||||
|
||||
*!* If _vfp.StartMode !=0
|
||||
*!* Quit
|
||||
*!* Endif
|
||||
Endfunc
|
||||
**=============================================
|
||||
|
||||
Function cleanup
|
||||
|
||||
*!* If Cntbar("_msysmenu") = 7
|
||||
*!* Return
|
||||
*!* ENDIF
|
||||
|
||||
On Error
|
||||
On Shutdown
|
||||
Set Classlib To
|
||||
Set Path To
|
||||
Clear All
|
||||
*Close All
|
||||
_Screen.MaxButton=.T.
|
||||
_Screen.BorderStyle= 3
|
||||
_Screen.WindowState= 2
|
||||
|
||||
Pop Menu _Msysmenu
|
||||
Clear Events
|
||||
|
||||
Return
|
||||
Endfunc
|
||||
|
||||
***************************** inceput conectare
|
||||
Procedure conectare
|
||||
Lparameters tcHost, tcUserName, tcPassword, tcIdUtilizator
|
||||
|
||||
Local lnHandle, lcHost, lcUserName, lcPassword, lcCaption, lcidutilizator
|
||||
|
||||
If Pcount() = 3
|
||||
goApp.cHost = tcHost
|
||||
goApp.cUserName = tcUserName
|
||||
goApp.cPassword = tcPassword
|
||||
* goapp.cidutilizator = goapptask.idutilizator
|
||||
goApp.cidutilizator = tcIdUtilizator
|
||||
Endif
|
||||
|
||||
lcHost = Upper(tcHost)
|
||||
lcUserName = Upper(tcUserName)
|
||||
lcPassword = tcPassword
|
||||
lcidutilizator = tcIdUtilizator
|
||||
|
||||
If Type('goApp') = 'O' And goApp.nhandle > 0
|
||||
Do deconectare
|
||||
Endif
|
||||
|
||||
lnHandle = goConn.Connect(lcHost, lcUserName, lcPassword, lcidutilizator)
|
||||
|
||||
goApp.nhandle = lnHandle
|
||||
*!* goExecutor.nhandle = lnHandle
|
||||
|
||||
If lnHandle > 0
|
||||
lcCaption = "Conectat " + lcHost + " " + lcUserName
|
||||
Else
|
||||
lcCaption = "Neconectat"
|
||||
Endif
|
||||
If Type('goApp') = 'O'
|
||||
goApp.SetCaption(lcCaption)
|
||||
Endif
|
||||
|
||||
Return lnHandle
|
||||
|
||||
Endproc && conectare
|
||||
****************************************
|
||||
|
||||
Procedure deconectare
|
||||
Local lcCaption, lnSucces
|
||||
|
||||
lnSucces = goConn.Disconnect()
|
||||
goApp.nhandle = -1
|
||||
goExecutor.nhandle = -1
|
||||
lcCaption = "Neconectat"
|
||||
goApp.SetCaption(lcCaption)
|
||||
|
||||
Endproc && deconectare
|
||||
|
||||
************************* inceput salveazaSetari ********************
|
||||
Procedure salveazaSetari
|
||||
Try
|
||||
If Used('settings')
|
||||
Replace settings.idutilizator With goApp.idutilizator In settings
|
||||
Cursortoxml("SETTINGS",gcSettingsFile,1,512,0,"1")
|
||||
Endif
|
||||
If Used('programe_changelogs')
|
||||
Cursortoxml("programe_changelogs", gcProgrameChangeLogsFile,1,512,0,"1")
|
||||
Endif
|
||||
Catch
|
||||
Endtry
|
||||
Endproc
|
||||
|
||||
**======================================
|
||||
** actualizeaza programe_changelogs cu calea catre fisierul ;
|
||||
changelog pentru un id_program
|
||||
Procedure UpdateProgrameChangeLogs
|
||||
Lparameters tnIdProgram, tcProgram, tcChangeLog
|
||||
|
||||
Local lcSelect
|
||||
lcSelect = Select()
|
||||
|
||||
If Used('programe_changelogs') And !Empty(tcChangeLog)
|
||||
Select programe_changelogs
|
||||
Locate For id_program = tnIdProgram
|
||||
If Found()
|
||||
Replace changelog With Alltrim(tcChangeLog)
|
||||
Else
|
||||
Insert Into programe_changelogs(id_program, Program, changelog) Values (tnIdProgram, Alltrim(tcProgram), Alltrim(tcChangeLog))
|
||||
Endif
|
||||
Endif
|
||||
Select (lcSelect)
|
||||
Endproc && UpdateProgrameChangeLogs ^
|
||||
|
||||
**======================================
|
||||
** intoarce calea catre fisierul changelog in functie de id_program
|
||||
Function GetChangeLogByIdProgram
|
||||
Lparameters tnIdProgram
|
||||
Local lcSelect, lcChangelog
|
||||
lcSelect = Select()
|
||||
lcChangelog = ""
|
||||
|
||||
If Used('programe_changelogs')
|
||||
Select programe_changelogs
|
||||
Locate For id_program = tnIdProgram
|
||||
If Found()
|
||||
lcChangelog = Alltrim(changelog)
|
||||
Endif
|
||||
Endif
|
||||
|
||||
Select (lcSelect)
|
||||
Return lcChangelog
|
||||
Endfunc
|
||||
**======================================
|
||||
|
||||
********************** inceput TooManyInstances *************************
|
||||
Function TooManyInstances(lnInstancesAllowed)
|
||||
***************************
|
||||
#Define GW_CHILD 5 && 0x00000005
|
||||
#Define GW_HWNDNEXT 2 && 0x00000002
|
||||
#Define SW_MAXIMIZE 3 && 0x00000003
|
||||
#Define SW_NORMAL 1 && 0x00000001
|
||||
#Define WAIT_OBJECT_0 0 && 0x00000000
|
||||
#Define RF_MESAJ 0xA123
|
||||
|
||||
Local lcUniqueProperty, lcUniqueSemaphore, lnhSemaphore, lnHwnd, llReturn
|
||||
If Pcount() = 0
|
||||
lnInstancesAllowed = 1 && default
|
||||
Else
|
||||
lnInstancesAllowed = Max(lnInstancesAllowed,1) &&At least one
|
||||
Endif
|
||||
Do DeclareAPIs
|
||||
lcUniqueSemaphore = Strtran(Justpath(Sys(16,0)),"\","")
|
||||
*!* lcUniqueSemaphore = "968360BF-C7AD-4B62-A045-0A06D597EF18"
|
||||
lcUniqueProperty = "E2429959-D873-4733-8182-7A3F14780A27"
|
||||
&&&
|
||||
*!* oTypeLib = CreateObject("scriptlet.typelib")
|
||||
*!* lcUniqueSemaphore = substr(oTypeLib.GUID, 2, 36)
|
||||
*!* oTypeLib1 = CreateObject("scriptlet.typelib")
|
||||
*!* lcUniqueProperty = substr(oTypeLib1.GUID, 2, 36)
|
||||
&&&
|
||||
lnhSemaphore = CreateSemaphore(0,lnInstancesAllowed,lnInstancesAllowed,lcUniqueSemaphore)
|
||||
If lnhSemaphore != 0 And WaitForSingleObject(lnhSemaphore, 0) != WAIT_OBJECT_0
|
||||
Do DeclareMoreAPIs
|
||||
llReturn = .T.
|
||||
lnHwnd = GetWindow(GetDesktopWindow(), GW_CHILD)
|
||||
Do While lnHwnd != 0 && loop through all windows
|
||||
If GetProp(lnHwnd, lcUniqueProperty) = 1 && does window have our unique property?
|
||||
BringWindowToTop(lnHwnd)
|
||||
*!* modificare v 2.0.23
|
||||
If IsIconic(lnHwnd) <> 0
|
||||
SendMessage(lnHwnd, RF_MESAJ, 0, 0)
|
||||
Else
|
||||
*!* modificare v 2.0.23 ^
|
||||
ShowWindow(lnHwnd,SW_NORMAL)
|
||||
*!* modificare v 2.0.23
|
||||
Endif
|
||||
*!* modificare v 2.0.23 ^
|
||||
llReturn = .T.
|
||||
Exit
|
||||
Endif
|
||||
lnHwnd = GetWindow(lnHwnd, GW_HWNDNEXT)
|
||||
Enddo
|
||||
CloseHandle(lnHwnd)
|
||||
CloseHandle(lnhSemaphore)
|
||||
Clear Dlls "BringWindowToTop", "GetDesktopWindow", ;
|
||||
"GetProp", "GetWindow", "ShowWindow", ;
|
||||
"CloseHandle", "SendMessage", "IsIconic"
|
||||
Else
|
||||
=SetProp(_vfp.HWnd, lcUniqueProperty, 1)
|
||||
_Screen.AddProperty("SemaphoreHandle",lnhSemaphore)
|
||||
llReturn = .F.
|
||||
Endif
|
||||
Clear Dlls "CreateSemaphore", "GetLastError", ;
|
||||
"SetProp"
|
||||
Return (llReturn)
|
||||
Endfunc &&&&&&&&&&&&&&&&&&&&&& TooManyInstances ^^ &&&&&&&&&&&&&&&&&&&&&&&&&&
|
||||
*************************************************************************************************************************
|
||||
***************************
|
||||
Procedure DeclareAPIs()
|
||||
***************************
|
||||
Declare Integer CloseHandle In Kernel32 Integer hObject
|
||||
Declare Integer CreateSemaphore In Kernel32 Integer lpSemaphoreAttributes, Integer lInitialCount, Integer lMaximumCount, String lpName
|
||||
Declare Integer SetProp In User32 Integer HWnd, String lpString, Integer hData
|
||||
Declare Integer WaitForSingleObject In kernel32 Integer hHandle, Integer dwMilliseconds
|
||||
Endproc
|
||||
*************************************************************************************************************************
|
||||
***************************
|
||||
Procedure DeclareMoreAPIs()
|
||||
***************************
|
||||
Declare Integer BringWindowToTop In Win32API Integer HWnd
|
||||
Declare Integer GetDesktopWindow In User32
|
||||
Declare Integer GetProp In User32 Integer HWnd, String lpString
|
||||
Declare Integer GetWindow In User32 Integer HWnd, Integer uCmd
|
||||
Declare Integer ShowWindow In Win32API Integer HWnd, Integer nCmdShow
|
||||
*!* modificare v 2.0.23
|
||||
Declare Integer SendMessage In user32 Integer HWnd,Integer Msg,Integer wParam, Integer Lparam
|
||||
Declare Integer IsIconic In user32 Integer HWnd
|
||||
*!* modificare v 2.0.23 ^
|
||||
Endproc
|
||||
|
||||
Reference in New Issue
Block a user