
| | auteur : SilkyRoad | | Vba |
Private Declare Function NetScheduleJobAdd Lib "netapi32.dll" _
(ByVal Servername As String, Buffer As Any, JobID As Long) As Long
Private Type AT_INFO
JobTime As Long
DaysOfMonth As Long
DaysOfWeek As Byte
Flags As Byte
Command As String
End Type
Private Enum JobAdd
JOB_RUN_PERIODICALLY = 1&
JOB_ADD_CURRENT_DATE = 8&
JOB_NONINTERACTIVE = 16&
End Enum
Private Enum sjWeekdays
Monday = 1
Tuesday = 2
Wednesday = 4
Thursday = 8
Friday = 16
Saturday = 32
Sunday = 64
End Enum
Private Enum sjDays
d1 = 1
d2 = 2
d3 = 4
d4 = 8
d5 = 16
d6 = 32
d7 = 64
d8 = 128
d9 = 256
d10 = 512
d11 = 1024
d12 = 2048
d13 = 4096
d14 = 8192
d15 = 16384
d16 = 32768
d17 = 65536
d18 = 131072
d19 = 262144
d20 = 524288
d21 = 1048576
d22 = 2097152
d23 = 4194304
d24 = 8388608
d25 = 16777216
d26 = 33554432
d27 = 67108864
d28 = 134217728
d29 = 268435456
d30 = 536870912
d31 = 1073741824
End Enum
Sub Test()
vbScheduleJob "notepad.exe", DateAdd("n", 1, Now), JOB_ADD_CURRENT_DATE
End Sub
Private Function vbScheduleJob(strCommand As String, sjTime As Date, _
AddFlags As JobAdd, Optional DayOfWeek As sjWeekdays = 0, _
Optional DayOfMonth As sjDays = 0, Optional PCName As String = vbNullString) As Long
Dim myInfo As AT_INFO
Dim JobID As Long
With myInfo
.Command = StrConv(strCommand, vbUnicode)
.Flags = AddFlags
.JobTime = DateDiff("s", "00:00:00", Format(sjTime, "hh:mm:ss")) * 1000
.DaysOfWeek = DayOfWeek
.DaysOfMonth = DayOfMonth
End With
NetScheduleJobAdd PCName, myInfo, JobID
vbScheduleJob = JobID
End Function
|
|
| | auteur : SilkyRoad | | Vba |
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub afficherImage_ApercuWindows()
Dim Img As String
Img = "C:\Documents and Settings\nom_utilisateur\dossier\nomfichier.bmp"
ShellExecute 0, "open", "rundll32.exe", _
"C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & Img, 0, 1
End Sub
|
|
| | auteur : SilkyRoad | | Vba |
Sub listerStatutsPorts()
Dim Cmd As String
Dim retVal As Long
Cmd = Environ("COMSPEC") & " /C "
retVal = Shell(Cmd & "NETSTAT -na> C:\listePorts.txt")
DoEvents
ThisWorkbook.FollowHyperlink "C:\listePorts.txt"
End Sub
|
|
| | auteur : SilkyRoad | | Vba |
Sub SystemeExploitation()
Dim WmObj As Object, Cible As Object
Dim Obj As Object
Set WmObj = GetObject("WinMgmts:{impersonationLevel=impersonate}")
Set Cible = WmObj.ExecQuery("Select * from Win32_OperatingSystem")
For Each Obj In Cible
MsgBox Left(Obj.Name, InStr(1, Obj.Name, "|") - 1) & _
vbCrLf & Obj.Version
Next
End Sub
|
|
| | auteur : SilkyRoad |
La fonction Environ Renvoie des informations sur le système d'exploitation.
ALLUSERSPROFILE (Répertoire commun à tous les utilisateurs)
APPDATA (Répertoire Application Data)
CLIENTNAME
CommonProgramFiles (Répertoire des Fichiers communs)
COMPUTERNAME (Nom du PC)
ComSpec
FP_NO_HOST_CHECK
HOMEDRIVE
HOMEPATH
LOGONSERVER
NUMBER_OF_PROCESSORS
OS
Path
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
ProgramFiles (Répertoire Program Files)
SESSIONNAME
SystemDrive
SystemRoot
TEMP(Répertoire Temp)
TMP
USERDOMAIN
USERNAME (Nom utilisateur connecté à la session)
USERPROFILE
WecVersionForRosebud.5C4
windir (Répertoire WINDOWS)
Vous pouvez boucler sur les variables d'environnement pour récupérer les données:
| Vba |
Dim i As Integer
For i = 1 To 30
Cells(i, 1) = Environ(i)
Next i
|
Ou lire une variable spécifique:
| Vba |
MsgBox Environ("USERNAME")
|
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2008
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|