Comme je l'avais dit Ici, Voila un logiciel de T'Chat Ordinateur a Ordinateur,
que j'ai nommé 'Diall'
J'ai pris beaucoup de temps a le codé.
J’espère qu'il vous plaira
Si vous rencontrez des problèmes ou bugs, faite le moi parvenir....
Le fichier est une installation, le Script et dans le dossier installer.
Et/ou vous le télécharger en .au3 avec le fichier .INI nécessaire.
La version 1 permet de communiquer seulement avec les PC connecter sur votre routeur !
► Afficher le texteTéléchargement/Installation
Fichier Joint :
Le Programme Version 1.5
Et le fichier .INI Nécessaire
ou
Lien de téléchargement de l'installation Ici
Lien de téléchargement de l'installation V1.5 Ici
Le Programme Version 1.5
- Dialle.au3
- Diall.au3 - Logiciel V1.5
- (15.94 Kio) Téléchargé 394 fois
- Conf.INI
- Fichier .INI - Necessaire pour le logiciel
- (85 Octets) Téléchargé 373 fois
Lien de téléchargement de l'installation Ici
Lien de téléchargement de l'installation V1.5 Ici
Log des Mises a Jours de la version 1.5 :
► Afficher le texte
- -Mise a jour du port et de l'IP
-Utilisation d'IP public
Je ne mets que le code source car il faut beaucoup de petit fichier qui l'accompagne,
Donc je vous conseille vivement de faire l'installation ICI SetUp Dialle.exe - Héberger sur un autre Site...
Cette version 2.0 est pour moi une vrai réussite j'y ai passé des heures et des heures de boulots !
Code Source:
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur: Bataille Lionel
Fonction du Script :
T'Chat ordinateur a ordinateur par TCP, en option une voix communiquant télécharger a partir de Google Traduction.
#ce ----------------------------------------------------------------------------
;~ On démarre les services et déclare les variables
#include <Sound.au3>
#include <Inet.au3>
#include <GuiIPAddress.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>
#include <GuiTreeView.au3>
#include <GUIListBox.au3>
#include <Webcam.au3>
#include <FileManage.au3>
$ComC = 0
$comter = 0
$comterChex = 0
$GuiT = 0
$Cam = ""
$CamRe = ""
Global $szIPADDRESS = _GetIP()
$nPORT = 49562
Global $MainSocket, $ConnectedSocket = -1, $szData
Global $recv
Global $DszIPADDRESS
Dim $On = "Green-on-16.jpg", $Off = "Red-on-16.jpg"
If Not FileExists("Conf.INI") Then
Iniwrite("Conf.INI","LIST","Default","Supprime si ta un ami."&@CRLF)
Iniwrite("Conf.INI","CONF","Name","")
Iniwrite("Conf.INI","CONF","Chex",""&@CRLF)
Iniwrite("Conf.INI","THEME","Theme",""&@CRLF)
Iniwrite("Conf.INI","MEMO","Memo",""&@CRLF)
EndIf
TCPStartup()
If @error Then
MsgBox(0,"Erreur","Une Erreur est survenue nous sommes désolé de se dérangement")
Exit
EndIf
$MainSocket = TCPListen($szIPADDRESS,$nPORT)
If $MainSocket = -1 Then
If @error = 2 Then
MsgBox(0, "Erreur", "Erreur, le port n'est pas correcte !"&@CRLF&@error)
Exit
ElseIf @error = 1 Then
MsgBox(0, "Erreur", "Erreur, Votre IP n'est pas correcte !"&@CRLF&@error)
Exit
EndIf
EndIf
;~ Définie un nom d'utilisateur si il n'y en na pas un déjà enregistré
$SearchN = IniRead("Conf.INI","CONF","Name","Not")
While 1
If $SearchN = "Not" Or $SearchN = "" Then
$NomUti = InputBox("Information","Entrez un nom d'utilisateur - Cela permet de savoir Qui est la personne qui communique ",""," M20")
If Not @error Then
If $NomUti <> "" Then
IniWriteSection("Conf.INI","CONF","Name="&$NomUti)
$SearchN = $NomUti
ExitLoop
EndIf
ElseIf @error Then
Exit
EndIf
Else
ExitLoop
EndIf
WEnd
;~ On créer l'interface graphique en mode événementiel
Opt("GUICloseOnESC", 1)
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### FormPrincipal
Global $Form1 = GUICreate("Diall - "&$SearchN, 808, 464, -1, -1)
GUISetFont(10, 800, 0, "Comic Sans MS")
;~ Définie le fond suivant se que l'utilisateur avait mis auparavant
$Couleur = IniRead("Conf.INI","THEME","Theme","Not")
If $Couleur = "BleuClair" Then
GUISetBkColor(0x00FFFF)
ElseIf $Couleur = "BleuFoncé" Then
GUISetBkColor(0x0000FF)
ElseIf $Couleur = "Rouge" Then
GUISetBkColor(0xFF0000)
ElseIf $Couleur = "Vert" Then
GUISetBkColor(0x00FF00)
ElseIf $Couleur = "Jaune" Then
GUISetBkColor(0xFFFF00)
ElseIf $Couleur = "Rose" Then
GUISetBkColor(0xFF00FF)
ElseIf $Couleur = "Blanc" Then
GUISetBkColor(0xFFFFFF)
Else
GUISetBkColor(0xFFFFFF)
EndIf
Global $MenuItem1 = GUICtrlCreateMenu("Conversation")
Global $MenuItem2 = GUICtrlCreateMenuItem("Envoyé un message vidéo", $MenuItem1)
GUICtrlSetOnEvent(-1, "MenuItem2Click")
Global $MenuItem3 = GUICtrlCreateMenuItem("Envoyer un fichier", $MenuItem1)
GUICtrlSetOnEvent(-1, "MenuItem3Click")
Global $MenuItem4 = GUICtrlCreateMenu("Liste d'Ami(s)")
Global $MenuItem5 = GUICtrlCreateMenuItem("Enregistrer un nouvelle ami", $MenuItem4, -1)
GUICtrlSetOnEvent(-1, "MenuItem5Click")
Global $MenuItem7 = GUICtrlCreateMenuItem("Supprimer un ami", $MenuItem4, -1)
GUICtrlSetOnEvent(-1, "MenuItem7Click")
Global $MenuItem8 = GUICtrlCreateMenu("&Préférence")
Global $MenuItem9 = GUICtrlCreateMenu("Thème", $MenuItem8)
Global $MenuItem11 = GUICtrlCreateMenuItem("Blanc", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem11Click")
Global $MenuItem12 = GUICtrlCreateMenuItem("Bleu Clair", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem12Click")
Global $MenuItem13 = GUICtrlCreateMenuItem("Bleu Foncé", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem13Click")
Global $MenuItem14 = GUICtrlCreateMenuItem("Jaune", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem14Click")
Global $MenuItem15 = GUICtrlCreateMenuItem("Rouge", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem15Click")
Global $MenuItem16 = GUICtrlCreateMenuItem("Rose", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem16Click")
Global $MenuItem17 = GUICtrlCreateMenuItem("Vert", $MenuItem9)
GUICtrlSetOnEvent(-1, "MenuItem17Click")
Global $MenuItem10 = GUICtrlCreateMenuItem("Changer le nom d'utilisateur", $MenuItem8)
GUICtrlSetOnEvent(-1, "MenuItem10Click")
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
Global $Group1 = GUICtrlCreateGroup("Information ", 8, 0, 217, 97)
Global $Label1 = GUICtrlCreateLabel("Votre Ip : "&$szIPADDRESS, 16, 24, 199, 23)
Global $Label2 = GUICtrlCreateLabel("Connexion : Déconnecter", 16, 72, 201, 23)
Global $Label3 = GUICtrlCreateLabel("Connecté à : Personne", 16, 48, 205, 23)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group2 = GUICtrlCreateGroup("Connexion ", 232, 0, 377, 65)
Global $Label4 = GUICtrlCreateLabel("Ip du destinataire :", 240, 24, 128, 23)
Global $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 368, 24, 138, 23)
_GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
Global $Button1 = GUICtrlCreateButton("Se connecter", 512, 24, 91, 25)
GUICtrlSetCursor (-1, 0)
GUICtrlSetOnEvent(-1, "Button1Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group3 = GUICtrlCreateGroup("Message Reçu ", 8, 104, 601, 153)
Global $Edi1 = GUICtrlCreateEdit("", 16, 128, 585, 121, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))
GUICtrlSetData(-1, "")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group4 = GUICtrlCreateGroup("T'Chat ", 8, 256, 601, 185)
Global $Edite1 = GUICtrlCreateEdit("", 16, 280, 585, 121, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))
GUICtrlSetData(-1, "")
Global $Inpute1 = GUICtrlCreateInput("", 16, 408, 497, 27)
GUICtrlSetCursor (-1, 5)
Global $Buttone1 = GUICtrlCreateButton("Envoyer", 520, 408, 75, 25)
GUICtrlSetOnEvent(-1, "Buttone1Click")
GUICtrlSetCursor (-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Option = GUICtrlCreateGroup("Option", 232, 64, 377, 49)
Global $Checkbox1 = GUICtrlCreateCheckbox("Réception de Message par voix robot", 240, 88, 345, 17)
GUICtrlSetOnEvent(-1, "CheckClick")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group5 = GUICtrlCreateGroup("Connecté ", 616, 56, 185, 193)
Global $List1 = GUICtrlCreateList("", 624, 80, 169, 175, BitOR($LBS_NOTIFY,$LBS_SORT,$WS_VSCROLL))
GUICtrlSetData(-1, "")
GUICtrlSetCursor (-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group6 = GUICtrlCreateGroup("Hors-Ligne ", 616, 248, 185, 193)
Global $List2 = GUICtrlCreateList("", 624, 272, 169, 175, BitOR($LBS_NOTIFY,$LBS_SORT,$WS_VSCROLL))
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group7 = GUICtrlCreateGroup("Mémo ", 616, 0, 185, 57)
$Memo = IniRead("Conf.INI","MEMO","Memo","")
Global $Input2 = GUICtrlCreateInput($Memo, 624, 24, 169, 27)
GUICtrlSetOnEvent(-1, "Input2Change")
Connexion()
GUISetState(@SW_SHOW,$Form1)
GUICtrlSetState($Group4,$GUI_DISABLE)
GUICtrlSetState($Edite1,$GUI_DISABLE)
GUICtrlSetState($Inpute1,$GUI_DISABLE)
GUICtrlSetState($Buttone1,$GUI_DISABLE)
GUICtrlSetState($MenuItem2,$GUI_DISABLE)
GUICtrlSetState($MenuItem3,$GUI_DISABLE)
#EndRegion ### END Koda GUI section ###
#Region ### START Koda GUI section ###
Global $FormCam = GUICreate("Diall - WebCam", 619, 387, 191, 126)
GUISetOnEvent($GUI_EVENT_CLOSE, "FormCamClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Forme1Minimize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Forme1Restore")
GUICtrlCreateGroup("Vidéo Control ", 520, 0, 97, 385)
Global $ButtonCam1 = GUICtrlCreateButton("Enregistrer", 528, 16, 83, 65)
GUICtrlSetCursor (-1, 0)
GUICtrlSetOnEvent(-1, "ButtonCam1Click")
Global $ButtonCam3 = GUICtrlCreateButton("Envoyer", 528, 184, 83, 161, $BS_ICON)
GUICtrlSetCursor (-1, 0)
GUICtrlSetImage(-1, "Image\BoutonEnv.ico", -1)
GUICtrlSetOnEvent(-1, "ButtonCam3Click")
Global $ButtonCam4 = GUICtrlCreateButton("Quitter", 528, 352, 83, 25)
GUICtrlSetCursor (-1, 0)
GUICtrlSetOnEvent(-1, "FormCamClose")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetState($ButtonCam3,$GUI_DISABLE)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
;~ On attend une connexion ou un message
While 1
If Sleep(5000) Then
$ReadSec = IniReadSection("Conf.INI","LIST")
GUICtrlSetData($List1,"")
GUICtrlSetData($List2,"")
For $i = 1 to $ReadSec[0][0]
$ValeurC = $ReadSec[$i][1]
$CleC = $ReadSec[$i][0]
$TestPing = WMI_Ping($ValeurC,32,false,0,true)
If $TestPing <> 0 Then
GUICtrlSetData($List1,@CRLF&$CleC&"("&$ValeurC&")")
Else
GUICtrlSetData($List2,@CRLF&$CleC)
EndIf
Next
EndIf
If $ConnectedSocket = -1 Then
$ConnectedSocket = TCPAccept($MainSocket)
Else
$recv = TCPRecv($ConnectedSocket, 2048000)
If @error Then
MsgBox(0, "Erreur 2", "Erreur de données reçues !")
Form1Close()
EndIf
If $recv <> "" Then
$TesteR = StringCompare($recv,"FileCreate:Diall - EnregistreCam.avi")
If $TesteR = 0 Then
$RepM = MsgBox(4,"Information","Votre ami souhaite vous envoyez un message vidéo,Voulez vous le visionner ?")
If $RepM = 6 Then
_FileCreate("Diall - EnregistreCamRecev.avi")
FileRecW()
ShellExecute("Diall - EnregistreCamRecev.avi")
Else
$szData = $szIPADDRESS&"("&$SearchN&")"&" > " & "A refuser votre vidéo"
TCPSend($ConnectedSocket, $szData)
EndIf
EndIf
$TesteR = StringInStr($recv,"FileC:")
If $TesteR = 0 Then
$StringFile = StringReplace($recv,":",@CRLF)
$StringPos = StringInStr($StringFile,@CRLF)
$StringFile = StringMid($StringFile,$StringPos)
$StringFileExPos = StringInStr($StringFile,".")
$StringFileEx = StringMid($StringFile,$StringFileExPos)
$RepM = MsgBox(4,"Information","Votre ami souhaite vous envoyez un fichier: "&$StringFile&",Voulez vous le télécharger ?")
If $RepM = 6 Then
$CheminFile = FileSaveDialog("Choix de création du fichier",$StringFile,"Extension Pré-Défini (*"&$StringFile&")")
_FileCreate($CheminFile)
FileRecWF($CheminFile)
Else
$szData = $szIPADDRESS&"("&$SearchN&")"&" > " & "A refuser votre Fichier"
TCPSend($ConnectedSocket, $szData)
EndIf
EndIf
If GUICtrlRead($Checkbox1) = 1 Then
;~ Si l'option du chexbox est 'on' alors on utilise la voix, mais on rajoute le message quand méme dans l'edit car si le message et trop long la voix ne la liras pas.
GUICtrlSetData($Edi1,$recv & @CRLF & GUICtrlRead($Edi1))
GUICtrlSetData($Edite1,$recv & @CRLF & GUICtrlRead($Edite1))
$Data = _URIEncode($recv)
InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $Data,@TempDir & "\temp.mp3",1)
$sound = _SoundOpen(@TempDir & "\temp.mp3")
_SoundPlay($sound,1)
_SoundClose($sound)
ElseIf GUICtrlRead($Checkbox1) <> 1 Then
GUICtrlSetData($Edi1,$recv & @CRLF & GUICtrlRead($Edi1))
GUICtrlSetData($Edite1,$recv & @CRLF & GUICtrlRead($Edite1))
EndIf
EndIf
EndIf
WEnd
;~ Cache la fenêtre
Func FormCamClose()
GUICtrlSetState($ButtonCam3,$GUI_DISABLE)
_Webcam_Rec_Stop($Cam)
_Webcam_Close($Cam)
GUISetState(@SW_HIDE,$FormCam)
EndFunc
;~ Minimise la fenêtre
Func Forme1Minimize()
GUISetState(@SW_MINIMIZE)
EndFunc
;~ Restaure la fenêtre
Func Forme1Restore()
GUISetState(@SW_RESTORE)
EndFunc
#cs --------------------------------------------------------------------------------------
Bouton de connexion : Reçoit l'ip entré par l'utilisateur et la teste avec un ping, |
si il n'y a aucune réponse il ne se connecte pas. |
#ce --------------------------------------------------------------------------------------
Func Button1Click()
$DszIPADDRESS = _GUICtrlIpAddress_Get($IPAddress1)
If $DszIPADDRESS <> "" Then
$TestPing = WMI_Ping($DszIPADDRESS,32,false,0,true)
If $TestPing <> 0 Then
$ConnectedSocket = TCPConnect($DszIPADDRESS, $nPORT)
If @error Then
TCPCloseSocket($ConnectedSocket)
MsgBox(0,"Connexion","Aucun réponse.")
ElseIf Not @error Then
GUICtrlSetData($Label2,"Connexion : Connecter")
GUICtrlSetState($Label3,"Connecté à: "&$DszIPADDRESS)
GUICtrlSetState($Group4,$GUI_ENABLE)
GUICtrlSetState($Edite1,$GUI_ENABLE)
GUICtrlSetState($Inpute1,$GUI_ENABLE)
GUICtrlSetState($Buttone1,$GUI_ENABLE)
GUICtrlSetState($MenuItem2,$GUI_ENABLE)
GUICtrlSetState($MenuItem3,$GUI_ENABLE)
Else
MsgBox(0,"Connexion","Aucun réponse.")
EndIf
Else
MsgBox(0,"Connexion","Aucun réponse.")
EndIf
_GUICtrlIpAddress_Set($IPAddress1,"0.0.0.0")
EndIf
EndFunc
#cs --------------------------------------------------------------------------------------
Bouton d’envoi de message : Envoie un message |
#ce --------------------------------------------------------------------------------------
Func Buttone1Click()
$szData = GUICtrlRead($Inpute1)
If $szData <> "" Then
$szData = $szIPADDRESS&"("&$SearchN&")"&" > " & $szData
TCPSend($ConnectedSocket, $szData)
If Not @error Then
GUICtrlSetData($Edite1,$szData & @CRLF & GUICtrlRead($Edite1))
GUICtrlSetData($Inpute1,"")
ElseIf @error Then
MsgBox(0, "Erreur 4", "Erreur d’Envoi,vous pouvez réessayer !"&@CRLF&@error)
EndIf
EndIf
EndFunc
;~ Ferme tous
Func Form1Close()
_Webcam_Rec_Stop($Cam)
_Webcam_Close($Cam)
TCPSend($ConnectedSocket, $szIPADDRESS&"("&$SearchN&")"&" A quitter.")
If $ConnectedSocket <> -1 Then
TCPCloseSocket($ConnectedSocket)
EndIf
TCPShutdown()
Exit
EndFunc
;~ Minimise la fenêtre
Func Form1Minimize()
GUISetState(@SW_MINIMIZE)
EndFunc
;~ Restaure la fenêtre
Func Form1Restore()
GUISetState(@SW_RESTORE)
EndFunc
;~ Fonction utiliser pour permettre les caractères spéciaux a être pris en compte par la voix robot
Func _URIEncode($sData)
; Prog@ndy
Local $aData = StringSplit(BinaryToString(StringToBinary($sData,4),1),"")
Local $nChar
$sData=""
For $i = 1 To $aData[0]
ConsoleWrite($aData[$i] & @CRLF)
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48 To 57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar,2)
EndSwitch
Next
Return $sData
EndFunc
;~ Enregistre un nouvel ami
Func MenuItem5Click()
$Nom = InputBox("Ajout","Entrer le nom de votre amis")
If Not @error Then ; Si on n'appuie pas sur le bouton cancel on continue
$NIp = InputBox("Ajout","Entrer l'IP de votre amis")
If Not @error Then
IniWrite("Conf.INI","LIST",$Nom,$NIp)
MsgBox(0,"Ajout","Votre amis a bien était enregistrer")
EndIf
EndIf
$Nom = ""
$NIp = ""
EndFunc
;~ Supprime un ami de la liste des enregistré, par une GUI prévu à cet effet
Func MenuItem7Click()
$ReadSec = IniReadSection("Conf.INI","LIST")
$Sup = InputBox("Suppression","Entrer le nom de la personne que vous voulez supprimer")
If Not @error Then
For $i = 1 To $ReadSec[0][0] ; on s'apprête à lire toutes les lignes de la section
$Cle = $ReadSec[$i][0]
$Valeur = $ReadSec[$i][1]
If $Sup = $Cle And $Cle <> "" Then
$T = 1
$accor = MsgBox(4,"Suppression","Êtes vous sur de vouloir supprimer "&$Cle&" ?")
If $accor = 6 Then
IniDelete("Conf.INI","LIST",$Cle)
EndIf
EndIf
Next
If $T <> 1 Then
MsgBox(0,"Information","Nous n'avons pas trouvé votre amis dans la liste des enregistrés, ou vous avez rentrer un nom invalide")
ElseIf $T = 1 Then
MsgBox(0,"Information","Votre amis a bien était supprimer de votre liste d'amis !")
$T = 0
EndIf
EndIf
EndFunc
;~ Permet de changer le nom d'utilisateur
Func MenuItem10Click()
$NomUti = InputBox("Information","Entrez votre nouveau nom d'utilisateur",""," M20")
If Not @error Then
IniWrite("Conf.INI","CONF","Name",$NomUti)
$SearchN = $NomUti
WinSetTitle("Diall -","","Dialle - "&$SearchN)
EndIf
EndFunc
;~ Fait une démonstration de la voix robot pour la premier utilisation
Func CheckClick()
$LectR = IniRead("Conf.INI","CONF","Chex","Not1")
If $LectR = "" Or $LectR = "Not1" Then
MsgBox(0,"Information","Attention cette fonction peut ralentir le programme !")
$TesteV = "Ceci est un teste. Cette voix parlera lors d'une réception de message"
$Data = _URIEncode($TesteV)
InetGet("http://translate.google.com/translate_tts?ie=UTF-8&tl=fr&q=" & $Data,@TempDir & "\temp.mp3",1)
$sound = _SoundOpen(@TempDir & "\temp.mp3")
_SoundPlay($sound,1)
_SoundClose($sound)
IniWrite("Conf.INI","CONF","Chex","1")
EndIf
EndFunc
;~ Démarrage, Teste le ping pour trouver les connectés
Func Connexion()
$ProC = 0
ProgressOn("Démarrage","Ouverture en Cour","0%")
$ProC = 5
ProgressSet($ProC,$ProC&"%","Lecture de la liste des enregistrés...")
$ReadSec = IniReadSection("Conf.INI","LIST")
For $i = 1 to $ReadSec[0][0]
$ProC += 10
ProgressSet($ProC,$ProC&"%","Connexion en cour...")
$ValeurC = $ReadSec[$i][1]
$CleC = $ReadSec[$i][0]
$TestPing = WMI_Ping($ValeurC,32,false,0,true)
If $TestPing <> 0 Then
GUICtrlSetData($List1,@CRLF&$CleC&"("&$ValeurC&")")
Else
GUICtrlSetData($List2,@CRLF&$CleC)
EndIf
Next
$ProC = 100
ProgressSet($ProC,$ProC&"%","Ouverture...")
Sleep(3000)
ProgressOff()
$ProC = 0
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func Input2Change()
$DataI = GUICtrlRead($Input2)
IniWriteSection("Conf.INI","MEMO","Memo="&$DataI)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem11Click()
IniWriteSection("Conf.INI","THEME","Theme=Blanc")
GUISetBkColor(0xFFFFFF,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem12Click()
IniWriteSection("Conf.INI","THEME","Theme=BleuClair")
GUISetBkColor(0x00FFFF,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem13Click()
IniWriteSection("Conf.INI","THEME","Theme=BleuFoncé")
GUISetBkColor(0x0000FF,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem14Click()
IniWriteSection("Conf.INI","THEME","Theme=Jaune")
GUISetBkColor(0xFFFF00,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem15Click()
IniWriteSection("Conf.INI","THEME","Theme=Rouge")
GUISetBkColor(0xFF0000,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem16Click()
IniWriteSection("Conf.INI","THEME","Theme=Rose")
GUISetBkColor(0xFF00FF,$Form1)
EndFunc
;~ Défini une couleur de fond et l'enregistre
Func MenuItem17Click()
IniWriteSection("Conf.INI","THEME","Theme=Vert")
GUISetBkColor(0x00FF00,$Form1)
EndFunc
#cs --------------------------------------------------------------------------------------------------------
Name: WMI_Ping
Description: Ping a remote computer via WMI
Author: WeaponX
Parameters: (6 - Str,Int,Bool,Int,Bool,Str)
Address (String) - Hostname, IPv4 address, or IPv6 address (Vista only)
BufferSize (Integer) - Buffer size sent with the Ping command. The default value is 32.
NoFragmentation (Boolean) - If TRUE, "Do not Fragment" is marked on the packets sent. The default is FALSE, not fragmented.
RecordRoute (Integer) - How many hops should be recorded while the packet is in route. The default is 0 (zero).
ResolveAddressNames (Boolean) - Command resolves address names of output address values. The default is FALSE, which indicates no resolution.
SourceRoute (String) - Comma-separated list of valid Source Routes. The default is "".
Return: (Int)
Success - Response time in milliseconds
Failure - Status code and @ERROR = 1
Failure creating object - 0 and @ERROR = 2
#ce --------------------------------------------------------------------------------------------------------
Func WMI_Ping($sAddress = "127.0.0.1", $iBufferSize = 32, $bNoFragmentation = False, $iRecordRoute = 0, $bResolveAddressNames = False, $sSourceRoute = "")
Local $colItems = "", $strComputer = "localhost", $strStatusCode = 0, $strResponseTime = 0, $Output = ""
Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
Local $sQuery = "SELECT * FROM Win32_PingStatus WHERE "
$sQuery &= "address = '" & $sAddress & "' "
$sQuery &= "AND BufferSize = " & $iBufferSize & " "
$sQuery &= "AND NoFragmentation = " & $bNoFragmentation & " "
$sQuery &= "AND RecordRoute = " & $iRecordRoute & " "
$sQuery &= "AND ResolveAddressNames = " & $bResolveAddressNames & " "
$sQuery &= "AND SourceRoute = '" & $sSourceRoute & "'"
$colItems = $objWMIService.ExecQuery($sQuery, "WQL", 0x10 + 0x20)
If IsObj($colItems) Then
ConsoleWrite("Object Name: " & ObjName($colItems) & @CRLF)
For $objItem In $colItems
$Output &= "Address: " & $objItem.Address & @CRLF
$Output &= "BufferSize: " & $objItem.BufferSize & @CRLF
$Output &= "NoFragmentation: " & $objItem.NoFragmentation & @CRLF
$Output &= "PrimaryAddressResolutionStatus: " & $objItem.PrimaryAddressResolutionStatus & @CRLF
$Output &= "ProtocolAddress: " & $objItem.ProtocolAddress & @CRLF
$Output &= "ProtocolAddressResolved: " & $objItem.ProtocolAddressResolved & @CRLF
$Output &= "RecordRoute: " & $objItem.RecordRoute & @CRLF
$Output &= "ReplyInconsistency: " & $objItem.ReplyInconsistency & @CRLF
$Output &= "ReplySize: " & $objItem.ReplySize & @CRLF
$Output &= "ResolveAddressNames: " & $objItem.ResolveAddressNames & @CRLF
$strResponseTime = $objItem.ResponseTime
$Output &= "ResponseTime: " & $strResponseTime & @CRLF
$Output &= "ResponseTimeToLive: " & $objItem.ResponseTimeToLive & @CRLF
$strRouteRecord = $objItem.RouteRecord(0)
$Output &= "RouteRecord: " & $strRouteRecord & @CRLF
$strRouteRecordResolved = $objItem.RouteRecordResolved(0)
$Output &= "RouteRecordResolved: " & $strRouteRecordResolved & @CRLF
$Output &= "SourceRoute: " & $objItem.SourceRoute & @CRLF
$Output &= "SourceRouteType: " & $objItem.SourceRouteType & @CRLF
$strStatusCode = $objItem.StatusCode
$Output &= "StatusCode: " & $strStatusCode & @CRLF
$Output &= "Timeout: " & $objItem.Timeout & @CRLF
$strTimeStampRecord = $objItem.TimeStampRecord(0)
$Output &= "TimeStampRecord: " & $strTimeStampRecord & @CRLF
$strTimeStampRecordAddress = $objItem.TimeStampRecordAddress(0)
$Output &= "TimeStampRecordAddress: " & $strTimeStampRecordAddress & @CRLF
$strTimeStampRecordAddressResolved = $objItem.TimeStampRecordAddressResolved(0)
$Output &= "TimeStampRecordAddressResolved: " & $strTimeStampRecordAddressResolved & @CRLF
$Output &= "TimestampRoute: " & $objItem.TimestampRoute & @CRLF
$Output &= "TimeToLive: " & $objItem.TimeToLive & @CRLF
$Output &= "TypeofService: " & $objItem.TypeofService & @CRLF
Next
;Uncomment to see full results
;ConsoleWrite($Output & @CRLF)
If $strStatusCode <> 0 Then
Return SetError(1,0,$strStatusCode)
Else
Return $strResponseTime
EndIf
Else
Return SetError(2,0,0)
EndIf
EndFunc ;==>WMI_Ping
;~ Démarre les services WebCam
Func MenuItem2Click()
$Cam = _Webcam_Open($FormCam,0,0,516,384,0)
GUISetState(@SW_SHOW,$FormCam)
EndFunc
;~ Permet le transfert de fichier
Func MenuItem3Click()
$FileSendF = FileOpenDialog("Choix du fichier","","Images (*.png;*.jpg;*.bmp;*.jpeg;*.ico;)|Vidéo (*.avi;*.mpg;*.wmv)|Exécutable (*.exe;*.msi)|Musique (*.mp2;*.mp3;*.mp4;*.aif;*.aiff;*.aifc;*.avi)|Fichier System (*.dll;*.ini)|Fichier compressé (*.rar;*.zip;*.tar)|Torrent (*.torrent)|Document (*.doc)",1)
$FileSendTCP = _FileOpening($FileSendF)
$Split = StringSplit($FileSendF,"\")
$FileName = $Split[UBound($Split)-1]
TCPSend($ConnectedSocket,"FileC:"&$FileName)
TCPSend($ConnectedSocket,$FileSendTCP)
EndFunc
Func _SetState()
For $i = 0 To 3
If Eval('dt' & $i) = 1 Then
GUICtrlSetImage(Eval('led' & $i), $On)
Else
GUICtrlSetImage(Eval('led' & $i), $Off)
EndIf
Next
EndFunc ;==>_SetState
;~ Enregistre la caméra
Func ButtonCam1Click()
MsgBox(0,"Information","L'enregistrement Commencera lorsque vous aurez cliquer sur Ok")
_Webcam_Rec_Start("Vidéo - Caméra\EnregistreCam.avi", $Cam)
MsgBox(0,"Information","L'enregistrement est terminer")
GUICtrlSetState($ButtonCam3,$GUI_ENABLE)
EndFunc
;~ Envoie la vidéo enregistrer
Func ButtonCam3Click()
ProgressOn("Diall - Envoie","Envoie en cour...")
$FileSend = _FileOpening("Vidéo - Caméra\EnregistreCam.avi")
ProgressSet(50)
TCPSend($ConnectedSocket,"FileCreate:Diall - EnregistreCam.avi")
ProgressSet(75)
TCPSend($ConnectedSocket,$FileSend)
ProgressSet(100)
GUICtrlSetState($ButtonCam3,$GUI_DISABLE)
ProgressOff()
EndFunc
;~ Permet la création du fichier
Func FileRecW()
ProgressOn("Diall - Réception","Réception de la vidéo en cour...")
While 1
$recv = TCPRecv($ConnectedSocket, 2048000)
If Not @error Then
ExitLoop
_FileSaving($recv,"Vidéo - Caméra\EnregistreCamRecev.avi")
ProgressSet(50)
EndIf
WEnd
ProgressSet(100)
EndFunc
;~ Permet la création du fichier
Func FileRecWF($File)
ProgressOn("Diall - Réception","Réception de la vidéo en cour...")
While 1
$recv = TCPRecv($ConnectedSocket, 2048000)
If Not @error Then
ExitLoop
_FileSaving($recv,$File)
ProgressSet(50)
EndIf
WEnd
ProgressSet(100)
EndFunc
► Afficher le texte
- - Correction de diverse bugs
- Ajout de la fonction transfert de fichier
- Ajout de la fonction transfert de Vidéo - Pris a partir d'une caméra
- Correction de l'Orthographe
- Amélioration de la commande Thème
- Correction du port et de l'IP
- Modification de l’icône
- Refonte de l’installateur
Une Correction majeur du script de Diall 2.0.
Voila le code source:
► Afficher le texteCode Source
- Diall.au3
- Diall V2.5 - Code Source
- (26 Kio) Téléchargé 372 fois
Modification de dernierre minute...