Jump to content

Rodrigo Chaves Neto

Membros
  • Content count

    15
  • Joined

  • Last visited

  • Days Won

    1

Rodrigo Chaves Neto last won the day on July 29

Rodrigo Chaves Neto had the most liked content!

Community Reputation

3 Neutro

About Rodrigo Chaves Neto

  • Rank
    Membro
  • Birthday 12/13/1982

Profile Information

  • Gender
    Male
  • Location
    Caçapava - SP

Contact Methods

  • Website URL
    https://www.linkedin.com/in/rodrigo-chaves-neto-242b1588

Recent Profile Visitors

378 profile views
  1. Animate Window (Animar GUI do Autoit)

    E as variáveis parecem ficar mais elegantes
  2. Animate Window (Animar GUI do Autoit)

    Legal. O bom dessa função é que a variável é exibida de um jeito parecido com o ArrayDisplay
  3. Usando a UDF au3Irrlicht2.au3

    Muito bom. Achei bem legal o que vc fez Poderia compartilhar o código? Eu coloquei o link do YouTube pq não sei embarcar o código pro vídeo abrir pelo post igual ao que vc fez
  4. Usando a UDF au3Irrlicht2.au3

    Olá, Compartilhando um script de efeitos com direct3D9 usando a biblioteca au3Irrlicht2.au3 #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Res_Description=Background Sample #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_ProductVersion=1.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=rcneto #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.14.5 Author: Rodrigo Chaves Script Function: Background Sample 07/2019 #ce ---------------------------------------------------------------------------- #include "au3Irrlicht2.au3" Opt("MustDeclareVars", True) HotKeySet("{ESC}", "_exit") Dim $camera Dim $cameraNode Dim $cloudTexture Dim $cloudNode Dim $aVector3Df[3] SplashTextOn('Background Sample', 'Por favor aguarde - Iniciando audio', 350, 110, -1, -1, 32) SoundPlay(@ScriptDir & '\Media\audio.mp3') Sleep(3000) SplashOff() _irrStart($irr_Edt_Direct3D9, 1024, 768, $irr_Bits_Per_Pixel_32, $irr_Windowed, $irr_Shadows, $irr_Ignore_Events, $irr_Vertical_Sync_On) _irrSetResizableWindow($irr_on) _irrSetWindowCaption("Background Sample / Pressione Esc para fechar") $cloudTexture = _irrGetTexture("media/cloud1.bmp") $cloudNode = _irrAddClouds($cloudTexture, 1, 1000, 3100) _irrSetNodeMaterialFlag($cloudNode, $irr_Emf_Fog_Enable, $irr_On) _irrSetNodePosition($cloudNode, 4000, 100, 4000) _irrAddRotationAnimator($cloudNode, 0.05, 0.08, 0.05) $camera = _irrAddCamera(0, 0, 0, 0, 0, 0) $cameraNode = $camera _irrSetNodePosition($cameraNode, 4000, 2000.7, 20000.9) _irrSetCameraFov($cameraNode, 1.55) _irrSetCameraClipDistance($camera, 12000) _irrSetAmbientLight(0.1, 0.1, 0.1) While _irrRunning() _irrBeginScene(130, 130, 255) $aVector3Df = _irrGetNodePosition($cameraNode) _irrDrawScene() _irrEndScene() WEnd _irrStop() Func _exit() _irrstop() Exit EndFunc https://www.youtube.com/watch?v=lo03F6CpXXc&feature=youtu.be O código fonte, biblioteca e arquivos de mídia estão no link abaixo https://1drv.ms/u/s!AnsPM67Cyv4XjJF_gnMKVuSCQdpdig?e=QM0aa8
  5. Animate Window (Animar GUI do Autoit)

    Olá, Compartilhando um script de efeitos de entrada e saída de GUI utilizando a função _WinAPI_AnimateWindow Deve ser usado junto com GUISetState() #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.14.5 Author: Rodrigo Chaves Script Function: Animate Window 07/2019 Base de pesquisa https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-animatewindow #ce ---------------------------------------------------------------------------- #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <WinAPIDiag.au3> ;Variaveis de efeitos Dim Const $tSTRUCT = 'struct;char fadeIn[128];char fadeOut[128];char Slide_In_Left[128];char Slide_Out_Left[128];char Slide_In_Right[128];char Slide_Out_Right[128];char Slide_In_Top[128];char Slide_Out_Top[128];' & _ 'char Slide_In_Bottom[128];char Slide_Out_Bottom[128];char DiagSlide_In_TopLeft[128];char DiagSlide_Out_TopLeft[128];char DiagSlide_In_TopRight[128];char DiagSlide_Out_TopRight[128];' & _ 'char DiagSlide_In_BottomLeft[128];char DiagSlide_Out_BottomLeft[128];char DiagSlide_In_BottomRight[128];char DiagSlide_Out_BottomRight[128];char explode[128];char implode[128];endstruct' Dim $oAW = DllStructCreate($tSTRUCT) $oAW.fadeIn = 0x00080000 $oAW.fadeOut = 0x00090000 $oAW.slide_In_Left = 0x00040001 $oAW.slide_Out_Left = 0x00050002 $oAW.slide_In_Top = 0x00040004 $oAW.slide_Out_Top = 0x00050008 $oAW.slide_In_Right = 0x00040002 $oAW.slide_Out_Right = 0x00050001 $oAW.slide_In_Bottom = 0x00040008 $oAW.slide_Out_Bottom = 0x00050004 $oAW.diagSlide_In_TopLeft = 0x00040005 $oAW.diagSlide_Out_TopLeft = 0x0005000a $oAW.diagSlide_In_TopRight = 0x00040006 $oAW.diagSlide_Out_TopRight = 0x00050009 $oAW.diagSlide_In_BottomLeft = 0x00040009 $oAW.diagSlide_Out_BottomLeft = 0x00050006 $oAW.diagSlide_In_BottomRight = 0x0004000a $oAW.diagSlide_Out_BottomRight = 0x00050005 $oAW.explode = 0x00040010 $oAW.implode = 0x00050010 ;Verificar a estrutura da variavel ;~ _WinAPI_DisplayStruct($oAW, $tSTRUCT) ;Variaveis de cores Dim Const $tagSTRUCT = 'struct;char white[8];char black[8];char dark[8];char light[8];char darkLight[8];char aqua[8];char alpha[2];endstruct' Dim $oColor = DllStructCreate($tagSTRUCT) $oColor.white = 0xFFFFFF $oColor.black = 0x000000 $oColor.dark = 0x202020 $oColor.light = 0xf5f6f7 $oColor.darkLight = 0x323232 $oColor.aqua = 0x00f2ff $oColor.alpha = -2 ;Verificar a estrutura da variavel ;~ _WinAPI_DisplayStruct($oColor, $tagSTRUCT) ;Texto de exemplo Dim $sSampleText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor ' & _ 'incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud ' & _ 'exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure ' & _ 'dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur ' & _ 'sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' $hWnd_Main = GUICreate("", 615, 437, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST) GUISetBkColor($oColor.dark) $aGetPos = WinGetPos($hWnd_Main) $sLabel_Title = GUICtrlCreateLabel(" Exemplo de janela animada", 0, 0, $aGetPos[2] - 2, 17, $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG) GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, $oColor.darkLight) GUICtrlSetColor(-1, $oColor.white) $Label2 = GUICtrlCreateLabel($sSampleText, 35, 40, 546, 337) GUICtrlSetFont(-1, 11, 400, 0, "Segoe UI") GUICtrlSetColor(-1, $oColor.white) $idBtn_Run = GUICtrlCreateButton("Run Effect", 430, 385, 75, 25) $idBtn_Exit = GUICtrlCreateButton("Exit", 510, 385, 75, 25) GUISetState(@SW_SHOW) ;Cria um sublinhado na barra de titulo $lineGraphic = GUICtrlCreateGraphic(0, 18, $aGetPos[2] - 1, 1) GUICtrlSetBkColor(-1, $oColor.aqua) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $idBtn_Exit Exit Case $idBtn_Run GUICtrlSetState($idBtn_Run, $GUI_HIDE) GUISetState(@SW_HIDE, $hWnd_Main) Sleep(1500) For $i = 1 To 20 ;Coleta o valor da variavel da estrutura $oAW $getAW = DllStructGetData($oAW, $i) ;Aplica o efeito _WinAPI_AnimateWindow($hWnd_Main, $getAW, 300) Sleep(200) Next ;Aplica o efeito de entrada fade-in com tempo de entrada de 1s (1000ms) _WinAPI_AnimateWindow($hWnd_Main, $oAW.fadeIn, 1000) ;Recolore o sublinhado GUICtrlSetBkColor($lineGraphic, $oColor.aqua) GUISetState(@SW_SHOW) GUICtrlSetState($idBtn_Run, $GUI_SHOW) EndSwitch WEnd
  6. Converter Video em Gif

    Olá, Compartilhando mais um script. As fontes de pesquisas estão no comentário do código. Ao executar o script escolha o arquivo de video (de preferencia pequeno) para fazer a conversão para gif O script possui linhas codificadas. Geralmente eu faço isso no máximo de linhas possivel para que mesmo se o script for decompilado tenha pouca compreensão das ações e funções criadas No script eu mantive o arquivo que faz a conversão elegível e o endereço do caminho temporario codificado para consulta e aprendizado #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Change2CUI=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.14.5 Author: Rodrigo Chaves Script Function: Convert Video in Gif 07/2019 Fonte de pesquisa https://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality http://www.autoitbrasil.com/forum/index.php?/topic/1505-pequenos-scripts-%C3%BAteis/ #ce ---------------------------------------------------------------------------- #NoTrayIcon #include <GUIConstantsEx.au3> #include <ProgressConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <SendMessage.au3> #include <File.au3> Opt("ExpandVarStrings", 1) Dim $hWnd_Main, $sName = "Video2Gif" Dim $sFileConvert = BinaryToString('0x4054656D70446972405C766964656F326769662E626174') Dim $sAction_FD = BinaryToString('0x46696C6544656C65746528274054656D70446972405C766964656F326769662E6261742729') Dim $sAction_FC = BinaryToString('0x46696C65577269746528247346696C65436F6E766572742C20245F73537472696E6746696C6529') Dim $sFile = FileOpenDialog('Convert Video 2 Gif', '', 'All (*.*)') If $sFile <> '' Then hWnd_Main() createFile() $getName = StringSplit($sFile, "\", 1) $sCountSlash = $getName[0] $iPID = Run(@ComSpec & ' /c "' & $sFileConvert & ' ' & $getName[$sCountSlash], '', @SW_HIDE) ProcessWaitClose($iPID) GUIDelete($hWnd_Main) Execute($sAction_FD) MsgBox(262144+64, $sName, 'Concluído', 60) EndIf Func createFile($iFPS = 30) If Not Int($iFPS) Then Exit MsgBox(262144+16, 'Error', 'Valor declarado não é um número inteiro', 60) $_sStringFile = '@echo off' & @CRLF $_sStringFile &= 'set arg1=%1' & @CRLF $_sStringFile &= 'set arg2=%arg1:~0,-4%' & @CRLF $_sStringFile &= 'ffmpeg -y -i %arg1% -vf fps=30,scale=-1:-1:flags=lanczos,palettegen %TEMP%\palette.png' & @CRLF $_sStringFile &= 'ffmpeg -i %arg1% -i %TEMP%\palette.png -filter_complex "fps=' & $iFPS & ',scale=-1:-1:flags=lanczos[x];[x][1:v]paletteuse" %arg2%gif' & @CRLF $_sStringFile &= 'del /f %TEMP%\palette.png' Execute($sAction_FD) Execute($sAction_FC) EndFunc Func hWnd_Main() Dim Const $tSTRUCT = 'struct;char dark[8];char darkLight[8];char white[8];char aqua[8];char alpha[2];endstruct' Dim $oColor = DllStructCreate($tSTRUCT) $oColor.dark = 0x252525 $oColor.darkLight = 0x323232 $oColor.white = 0xFFFFFF $oColor.aqua = 0x00FFFF $oColor.alpha = -2 $hWnd_Main = GUICreate($sName, 602, 203, -1, -1, $WS_POPUPWINDOW) GUISetBkColor($oColor.dark) $aGetPos = WinGetPos($hWnd_Main) $sLabel_Title = GUICtrlCreateLabel($sName, 0, 0, $aGetPos[2] - 1, 17, $SS_CENTER, $GUI_WS_EX_PARENTDRAG) GUICtrlSetBkColor(-1, $oColor.darkLight) GUICtrlSetColor(-1, $oColor.white) GUICtrlCreateGraphic(0, 18, $aGetPos[2] - 1, 1) GUICtrlSetBkColor(-1, $oColor.aqua) $sLabel_Status = GUICtrlCreateLabel("Convertendo video em gif", 0, 60, $aGetPos[2] - 1, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetBkColor(-1, $oColor.alpha) GUICtrlSetColor(-1, $oColor.white) $Progress = GUICtrlCreateProgress(185, 90, 230, 12, 0x8) _SendMessage(GUICtrlGetHandle($Progress), $PBM_SETMARQUEE, True, 30) $sLabel_Wait = GUICtrlCreateLabel("Aguarde", 0, 115, $aGetPos[2] - 1, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetBkColor(-1, $oColor.alpha) GUICtrlSetColor(-1, $oColor.white) GUISetState(@SW_SHOW) EndFunc https://1drv.ms/u/s!AnsPM67Cyv4XjIsLwAufsyCrNsTbcw?e=8Bkeg6
  7. Script de remoção de computadores de um Active Directory

    Blz. Vlw!
  8. Framework Comercial

    Gostaria de saber quais funções podem ser adicionadas a essa biblioteca Como trabalho em uma empresa multinacional e utilizamos muito Autoit aqui, desde 2008 se não me falha a memória, acabo que tendo que criar varias UDFs para atender a demandas específicas. Caso a biblioteca for de uso geral para area comercial, gostaria de implementar algumas funções que utilizo ou ja utilizei em ambito corporativo. Exemplo: Extrair informações, gerenciar objetos do Active Directory em massa Efetuar login na aplicação utilizando credenciais do Active Directory ou local Instalar softwares de forma automatizada, utilizando interface própria ou em modo silent Gerenciar infomações de banco de dados Aplicar correções do Windows Gerenciar informações do Registro e etc.
  9. Script de remoção de computadores de um Active Directory

    Não sei colocar o script no post então anexei o código. rs
  10. Olá, Compartilhando um script que remove computadores do Active Directory em massa. O código em si está todo functional. Porém a linha 63 cria um sublinhado na barra de titulo. Só consigo fazer essa linha aparecer depois do GUISetState(@SW_SHOW) por causa do efeito aplicado com _WinAPI_AnimateWindow() Se remover o efeito a linha aparece antes do GUISetState O objetivo desse post é compartilhar o script que está funcional mas se alguém quiser sanar esse problema fica aí o script para consulta Não sei se devo manter o post aqui mas se for necessário, por gentileza, mover para Ajuda e Suporte à GUI (Interface Gráfica de Usuário) #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.14.5 Author: Rodrigo Chaves Script Function: Remover Objeto Computador do Active Directory 07/2019 #ce ---------------------------------------------------------------------------- #NoTrayIcon #include <AD.au3> #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <ProgressConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> #include <WinAPIDiag.au3> #include <GuiListView.au3> Opt("ExpandVarStrings", 1) ;Cria uma variavel do tipo C Dim Const $tSTRUCT = 'struct;char dark[8];char darkLight[8];char white[8];char black[8];char lime[8];char aqua[8];char alpha[2];endstruct' Dim $oColor = DllStructCreate($tSTRUCT) ;Define cores no estilo dark $oColor.dark = 0x252525 $oColor.darkLight = 0x353535 $oColor.white = 0xFFFFFF $oColor.black = 0x000000 $oColor.lime = 0x00FF00 $oColor.aqua = 0x00FFFF $oColor.alpha = -2 ; Para verificar se a estrutura da variavel $oColor esta correta ;~ _WinAPI_DisplayStruct($oColor, $tSTRUCT) ;Define efeitos de abertura e fechamento da GUI Dim $AW_EXPLODE = 0x00040010 Dim $AW_IMPLODE = 0x00050010 ;Variaveis para criar GUI com efeito de sombra Dim $hWnd_Shadow1, $hWnd_Shadow2 ;Titulo da aplicacao Dim $sName = 'Remoção de computadores do Active Directory' $hWnd_Main = GUICreate("", 667, 476, -1, -1, $WS_POPUPWINDOW) GUISetBkColor($oColor.dark) $aWinGetPos = WinGetPos($hWnd_Main) $sLabel_Title = GUICtrlCreateLabel(' ' & $sName, 0, 0, $aWinGetPos[2] - 2, 17, $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG) GUICtrlSetFont(-1, 9, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, $oColor.darkLight) GUICtrlSetColor(-1, $oColor.white) ;Cria uma linha na cor aqua ;~ GUICtrlCreateGraphic(0, 18, $aWinGetPos[2] - 1, 2) ;~ GUICtrlSetBkColor(-1, $oColor.aqua) $Label2 = GUICtrlCreateLabel("Anexar arquivo", 25, 50, 84, 19) GUICtrlSetFont(-1, 9, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, $oColor.alpha) GUICtrlSetColor(-1, $oColor.white) ;Input para informar o caminho completo do anexo $idInput_Attach = GUICtrlCreateInput("", 25, 70, 301, 25, $ES_READONLY) GUICtrlSetFont(-1, 10, 400, 0, "Segoe UI") ;Botao para anexar arquivo de texto com lista de computadores $idBtn_Attach = GUICtrlCreateButton("Anexar", 25, 100, 75, 25) GUICtrlSetFont(-1, 9, 400, 0, "Segoe UI") ;Listview para visao geral dos itens do anexo $ListView1 = GUICtrlCreateListView("Hostname|Sistema Operacional|Versão", 25, 130, 605, 250, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 120) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 100) GUICtrlSetFont(-1, 9, 400, 0, "Segoe UI") GUICtrlSetBkColor(-1, $oColor.dark) GUICtrlSetColor(-1, $oColor.white) ;Barra de progresso $Progress = GUICtrlCreateProgress(25, 385, 150, 12) DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", 0, "wstr", 0) GUICtrlSetStyle($Progress, BitOR($GUI_SS_DEFAULT_PROGRESS, $PBS_SMOOTH)) GUICtrlSetBkColor($Progress, $oColor.darkLight) GUICtrlSetColor($Progress, $oColor.lime) GUICtrlSetState($Progress, $GUI_HIDE) ;Botao para simular anexo $idBtn_Simulate = GUICtrlCreateButton("Simular anexo", 395, 405, 75, 25) ;Botao para remocao dos computadores listados $idBtn_Remove = GUICtrlCreateButton("Remover", 475, 405, 75, 25) ;Botao para sair da aplicacao $idBtn_Exit = GUICtrlCreateButton("Sair", 555, 405, 75, 25) ;Aplica efeito de entrada explode _WinAPI_AnimateWindow($hWnd_Main, $AW_EXPLODE, 200) ;Exibe a form GUISetState(@SW_SHOW) ;Cria uma linha na cor aqua GUICtrlCreateGraphic(0, 18, $aWinGetPos[2] - 1, 1) GUICtrlSetBkColor(-1, $oColor.aqua) ;Cria sombra na form principal hShadow($hWnd_Main) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $idBtn_Exit hShadow($hWnd_Main, '', True) ;Remove a sombra _WinAPI_AnimateWindow($hWnd_Main, $AW_IMPLODE, 200) ;Aplica efeito de saida implode Exit Case $idBtn_Attach attachFile() ;Anexa arquivo de texto Case $idBtn_Simulate MsgBox(262144+64, $sName, 'A finalidade deste botão é para mostrar como uma lista de computadores é exibida', 60) _Extract_FileSimulate(True) attachFile(True) Case $idBtn_Remove If _GUICtrlListView_GetItemCount($ListView1) > 0 Then removeHostname() ;Remove computadores do Active Directory EndSwitch WEnd ;Anexa arquivo de texto Func attachFile($sOption = False) If $sOption = False Then Local $OpenFile = FileOpenDialog($sName, '', 'Txt Files(*.txt)', 0, 0, $hWnd_Main) Else ;Define endereco do arquivo de texto simulado Local $OpenFile = BinaryToString('0x4054656D70446972405C4C6973742E747874') EndIf If $OpenFile <> '' Then GUICtrlSetState($idBtn_Attach, $GUI_DISABLE) GUICtrlSetState($idBtn_Remove, $GUI_DISABLE) GUICtrlSetState($idBtn_Exit, $GUI_DISABLE) GUICtrlSetState($idBtn_Simulate, $GUI_DISABLE) GUICtrlSetData($idInput_Attach, $OpenFile) $aOpenFile = StringSplit(FileRead($OpenFile), @CRLF, 1) _GUICtrlListView_DeleteAllItems($ListView1) GUICtrlSetData($Progress, 0) GUICtrlSetState($Progress, $GUI_SHOW) If $sOption = True Then Local $_i = 1 For $vElement In $aOpenFile If $vElement <> '' And Not Int($vElement) Then GUICtrlCreateListViewItem($vElement & '|-|-', $ListView1) Local $P = $_i * 100 / $aOpenFile[0] $_i += 1 GUICtrlSetData($Progress, $P) GUICtrlSetData($ListView1, 'Hostname (' & _GUICtrlListView_GetItemCount($ListView1) & ')|Sistema Operacional|Versão') Sleep(30) Next Sleep(500) GUICtrlSetState($Progress, $GUI_HIDE) GUICtrlSetState($idBtn_Remove, $GUI_DISABLE) Else If @LogonDNSDomain = '' Then Local $_i = 1 For $vElement In $aOpenFile If $vElement <> '' And Not Int($vElement) Then GUICtrlCreateListViewItem($vElement & '|-|-', $ListView1) Local $P = $_i * 100 / $aOpenFile[0] $_i += 1 GUICtrlSetData($Progress, $P) GUICtrlSetData($ListView1, 'Hostname (' & _GUICtrlListView_GetItemCount($ListView1) & ')|Sistema Operacional|Versão') Next Else Local $aProperties[4][2] _AD_Open() For $_i = 1 To UBound($aOpenFile) - 1 $aProperties = _AD_GetObjectProperties($aOpenFile[$_i] & "$", "cn,operatingSystem,operatingSystemVersion") If IsArray($aProperties) Then If $aProperties[1][1] <> '' Then GUICtrlCreateListViewItem($aProperties[1][1] & '|' & $aProperties[2][1] & '|' & $aProperties[3][1], $ListView1) EndIf Local $P = $_i * 100 / $aOpenFile[0] GUICtrlSetData($Progress, $P) GUICtrlSetData($ListView1, 'Hostname (' & _GUICtrlListView_GetItemCount($ListView1) & ')|Sistema Operacional|Versão') Next _AD_Close() EndIf Sleep(500) GUICtrlSetState($Progress, $GUI_HIDE) EndIf If $sOption = True Then GUICtrlSetState($idBtn_Remove, $GUI_DISABLE) Else GUICtrlSetState($idBtn_Remove, $GUI_ENABLE) EndIf GUICtrlSetState($idBtn_Simulate, $GUI_ENABLE) GUICtrlSetState($idBtn_Exit, $GUI_ENABLE) GUICtrlSetState($idBtn_Attach, $GUI_ENABLE) EndIf EndFunc ;==>attachFile ;Remove computador do Active Directory Func removeHostname() Local $TotalToRemove = _GUICtrlListView_GetItemCount($ListView1) GUICtrlSetData($Progress, 0) GUICtrlSetState($Progress, $GUI_SHOW) _AD_Open() For $_i = 0 To $TotalToRemove $sItem = _GUICtrlListView_GetItemText($ListView1, $_i, 0) $sObject = _AD_SamAccountNameToFQDN($sItem & '$') $iValue = _AD_DeleteObject($sObject, _AD_GetObjectClass($sObject)) If $iValue = 1 Then _GUICtrlListView_SetItemText($ListView1, $_i, $sItem & ' [Removido]', 0) Else _GUICtrlListView_SetItemText($ListView1, $_i, $sItem & ' [Não removido]', 3) EndIf Local $P = $_i * 100 / $TotalToRemove GUICtrlSetData($Progress, $P) Next Sleep(500) GUICtrlSetState($Progress, $GUI_HIDE) _AD_Close() EndFunc ;==>removeHostname ;Cria GUI de sombra Func hShadow($idForm, $iTransparency = 150, $iClose = False) ;Remove as duas GUI If $iClose = True Then GUIDelete($hWnd_Shadow1) GUIDelete($hWnd_Shadow2) Return 0 EndIf ;Coleta a posicao da form $aPos = WinGetPos($idForm) $x = $aPos[2] $y = $aPos[3] ;Cria uma GUI em formato de sombra na horizontal $hWnd_Shadow1 = GUICreate("", $x + 1, 10, 10, $y + 1, $WS_POPUP, $WS_EX_MDICHILD, $idForm) ; Horizontal GUISetBkColor(0x000000) WinSetTrans($hWnd_Shadow1, '', $iTransparency) GUISetState(@SW_SHOW) ;Cria uma GUI em formato de sombra na vertical $hWnd_Shadow2 = GUICreate("", 10, $y - 7, $x + 1, 8, $WS_POPUP, $WS_EX_MDICHILD, $idForm) ; Vertical GUISetBkColor(0x000000) WinSetTrans($hWnd_Shadow2, '', $iTransparency) GUISetState(@SW_SHOW) ;Configura a form sempre sobre as outras janelas WinSetOnTop($idForm, '', 1) EndFunc ;==>hShadow ;Extrai lista de computadores ficticios Func _Extract_FileSimulate($bSaveBinary = False, $sSavePath = @TempDir) Local $Extract_FileSimulate $Extract_FileSimulate &= 'TkIzNDE4NDYNCk5CNDAyNjI0DQpOQjQwOTYyNw0KTkI0MTY3MTYNCk5CNDIwNjAwDQpOQjQ0MDE1Nw0KTkI0NDAyMjANCk5CNDQwMjYxDQpOQjQ0MDI5NA0KTkI0NDA0NzQNCk5CNDQwNDk5DQpOQjQ0MDY5NQ0KTkI0NDE2MDINCk5CNDQxNjA3DQpOQjQ0MTYxOA0KTkI0NDE2NjcNCk5CNDQyNDA1DQpOQjQ0MjQxNQ0KTkI0NDI0MTYNCk5CNDQyOTUyDQpOQjQ0NjkyMw0KTkI0NDgyNjgNCk5CNDQ4MzA1DQpOQjQ0ODMxOA0KTkI0NDgzNzgNCk5CNDQ4MzkzDQpOQjQ0ODM5Ng0KTkI0NDg0MjYNCk5CNDQ5Mzk5DQpOQjQ1MTgyNA0KTkI0NTE4MzANCk5CNDUxODM0DQpOQjQ1MTg2Mw0KTkI0NTE4NjUNCk5CNDUxODk1DQpOQjQ1NDYzOA0KTkI0NTQ2NjgNCk5CNDU0NjY5DQpOQjQ1NDY3MQ0KTkI0NTQ2ODYNCk5CNDU0Njg3DQpOQjQ1NDcwMQ0KTkI0NTQ3MTINCk5CNDU0NzIwDQpOQjQ1NDc0MA0KTkI0NTQ3NDQNCk5CNDU0NzQ5DQpOQjQ1NDc1NQ0KTkI0NTQ3NjENCk5CNDU0NzY0DQpOQjQ1NDc2NQ0KTkI0NTQ3ODYNCk5CNDU0ODE1DQpOQjQ1NDgyMA0KTkI0NTQ4MjQNCk5CNDU0ODI4DQpOQjQ1NDgyOQ0KTkI0NTQ4MzMNClBDMzE5NzUyDQpQQzMyOTA1NA0KUEM0MjI1OTUNClBDNDI2NTY3DQpQQzQyODM4Mw0KUEM0NDAyMTENClBDNDQwNDA0DQpQQzQ0MDQzMQ0KUEM0NDA1NTgNClBDNDQxMzAxDQpQQzQ0MTMxNA0KUEM0NDEzMTcNClBDNDQxNzE0DQpQQzQ0MTk1Mg0KUEM0NDE5NjMNClBDNDQxOTg4DQpQQzQ0MTk5Ng0KUEM0NDI4MjENClBDNDQyODU5DQpQQzQ0MzU5MA0KUEM0NDY4NTENClBDNDQ3NjAyDQpQQzQ0NzgwMQ0KUEM0NDc4MTANClBDNDQ3ODE4DQpQQzQ0NzgyMA0KUEM0NDc4MzANClBDNDQ3ODQwDQpQQzQ0NzkzNA0KUEM0NDc5OTcNClBDNDQ4MDQ3DQpQQzQ0ODA2Mg0KUEM0NDgwOTkNClBDNDQ4MTQ4DQpQQzQ0ODE1Mw0KUEM0NDgxNzcNClBDNDQ4MTkzDQpQQzQ0ODE5NA0KUEM0NDg5MzINClBDNDQ4OTYyDQpQQzQ0ODk2NA0KUEM0NDg5NjUNClBDNDQ4OTY5DQpQQzQ0ODk3OQ0KUEM0NDkwMjUNClBDNDQ5NzE3DQpQQzQ1MTU1Nw0KUEM0NTE5MDkNClBDNDUyNzQ2DQpQQzQ1Mjc1MQ0KUEM0NTI3NjINClBDNDUyODE0DQpQQzQ1NDQ2NQ0KUEM0NTQ0NjYNClBDNDU0NDgzDQpQQzQ1NDQ4NA0KUEM0NjE0NDgNClBDNDYxNDU4DQpQQzQ2MTUzNA0KUEM0NjE1NjANClRCMDg1MDJTDQpUQjA4OTAwUw0KVEIwODkwNFMNClRCMDg5MDdTDQpUQjA4OTA4Uw0KVEIwODkxM1MNClRCMDg5MTRTDQpUQjEzOTY0Uw0KVEIxNDQ5MlMNClRCMTQ1MTNTDQpUQjE0NTE0Uw0KVEIxNDUxNVMNClRCMTQ1MTdTDQpUQjE0NTE4Uw0KVEIxNDUyM1MNClRCMTQ1MjVTDQpUQjE0NTI2Uw0KVEIxNDUyN1MNClRCMTQ1MjhTDQpUQjE0NTI5Uw0KVEIxNDU0MVMNClRCMTQ1NDNTDQpUQjE0NTQ1Uw0KVEIxNDU0NlMNClRCMTQ1NDdTDQpUQjE0NTQ4Uw0KVEIxNDU0OVMNClRCMTQ1NTFTDQpUQjE0NTUyUw0KVEIxNDU1M1MNClRCMTQ1NTVTDQpUQjE0NTU2Uw0K' $Extract_FileSimulate &= 'VEIxNDU1N1MNClRCMTQ1NThTDQpUQjE0NTYwUw0KVEIxNDU2MVMNClRCMTQ1NjNTDQpUQjE0NTY0Uw0KVEIxNDU2NVMNClRCMTQ1NjlTDQpUQjE0NTcxUw0KVEIxNDU4OFMNClRCMTQ1ODlTDQpUQjE0NTkwUw0KVEIxNDU5MVMNClRCMTQ1OTdTDQpUQjE0NTk4Uw0KVEIxNDU5OVMNClRCMTQ2MDBTDQpUQjE0NjAxUw0KVEIxNDYwMlMNClRCMTQ2MDhTDQpUQjE0ODM5Uw0KVEIxNTQ0M1MNClRCMTU2MDVTDQpUQjE4MjQ5Uw0KVEIxODI1MlMNClRCMjI2NjRTDQpUQjIyNjY4Uw0KVEIyNDYxNFMNClRCMjU4OTNTDQpUQjI2OTIzUw0KVEIyNzIwNlMNClRCMjcyMTNTDQpUQjI3MjE3Uw0KVEIyOTU3M1MNClRCMjk1OThTDQpUQjI5NjEzUw0KVEIyOTYxNFMNClRCMzY4NDQ4DQpUQjM2ODQ0OQ0KVEIzNzEyMjENClRUNDg5MjQ0' Local Const $bString = Binary(_WinAPI_Base64Decode($Extract_FileSimulate)) If $bSaveBinary Then Local Const $hFile = FileOpen($sSavePath & "\List.txt", 18) If @error Then Return SetError(1, 0, 0) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Extract_FileSimulate ;Descriptografa codigo embarcado Func _WinAPI_Base64Decode($sB64String) Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "") Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]") $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "") Return DllStructGetData($bBuffer, 1) EndFunc ;==>_WinAPI_Base64Decode ADRemove.au3
  11. Convertendo VBS em Autoit

    Olá, Compartilhando uma maneira de converter um script de VBS em Autoit. Abaixo um script que cria um arquivo de texto em ambas as linguagens ;VBS Code Function Main() Dim Stuff Stuff = "Rodrigo" Dim myFSO Dim WriteStuff myFSO = CreateObject("Scripting.FileSystemObject") WriteStuff = myFSO.OpenTextFile("C:\Suporte\yourtextfile.txt", 8, True) WriteStuff.WriteLine(Stuff) WriteStuff.Close() End Function ;Autoit Code Func Main() Dim $Stuff $Stuff = "Rodrigo" Dim $myFSO Dim $WriteStuff $myFSO = ObjCreate("Scripting.FileSystemObject") $WriteStuff = $myFSO.OpenTextFile("C:\Suporte\yourtextfile.txt", 8, True) $WriteStuff.WriteLine($Stuff) $WriteStuff.Close() EndFunc Enquanto em VBS para se declarar uma variável você deve colocar Dim ou Set e o nome da variavel, no Autoit basta colocar o simbolo $ VBS: Dim Stuff Autoit: Dim $Stuff ou apenas $Stuff Para objetos VBS: CreateObject Autoit: ObjCreate
  12. Desenvolvendo na interface metro

    Legal! Vlw pela dica!
  13. Desenvolvendo na interface metro

    Estou usando banco de dados em access. Para obter algumas informações do computador e do login estou usando conexão com o Active Directory. Gostaria de testar um banco de dados em sql pra comparar o desempenho, mas não conheço muito de banco de dados
  14. Desenvolvendo na interface metro

    É um conjunto de aplicações que hoje a empresa tem mas cada um em um local diferente. Tem um modulo de envio de mensagem alertando algum tipo de problema, tem outro modulo que mostra informações da computador centro de custo, etc Há também um modulo de instalação automática de softwares para ajudar o time de Service Desk, modulo de instalação de impressoras, etc Tem outras coisas também que ainda estou implementando
  15. Desenvolvendo na interface metro

    Olá, Gostaria de compartilhar o desenvolvimento de uma das aplicações que estou criando em autoit utilizando interface metro do Windows www.youtube.com/watch?v=1hOYy6cyAZ8 Alguém já utilizou esta UDF?
×