Jump to content

Pedro Pinheiro

Membros
  • Content count

    285
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by Pedro Pinheiro

  1. Incorporar libmpv no programa

    ah, o word acho que tem uma udf no autoit. A UDF que usava windows media player, incorporava o internet explorer na janela e por lá chamava o windows media player, mas esse modo aí a dependência é só windows media player e os plugins
  2. Incorporar libmpv no programa

    Olha, incorporaram o windows media player direto na janela sem usar o internet explorer. Ficou show
  3. UDF para rodar vídeos

    https://mega.nz/#!xXwEDIrZ!KC_bJMp9zvHzs3yrgYkmW6di5gbSIUJcQ2Cgtvf0Mf0 Testai aí, adicionei a opção de Fullscreen, o sistema de fit não é uma função internet da UDF, e sim uma manipulação de janela. f = coloca a tela em fullsscreen g = estica o vídeo (em modo janela)
  4. Autoit Frontend

    Um frontend totalmente igual ao pandorabox 3. Fiz em 15 dias para brincar um pouco, mas acabei abandonando. O projeto está aberto no github para download e contribuições com ajudas e ideias. Caso alguém queira atualizações do projeto, vou deixar meu link de doações em aberto, dependendo das doações, o frontend ficará 100% igual ao Pandorabox 3 e terá sistema de skins para o gosto da pessoa. https://github.com/pedrowarlock/FrontEnd_listbox https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=pedro_15boy%40hotmail.com&currency_code=BRL&source=url
  5. UDF para rodar vídeos

    Faz uma janela tela cheia e coloca o vídeo nela. Ou da uma estudada nos parâmetros do directshow https://docs.microsoft.com/pt-br/windows/win32/directshow/media-parameters
  6. UDF para rodar vídeos

    O DSEnginer.dll foi feita com o DirectShow, nada que não se pode implementar na UDF.
  7. UDF para rodar vídeos

    Não sei, quem define isso é o aspect ratio nas configurações do codec. 4:3, 16:9. Se não conseguir, faça uma GUI versão fullscreen. Olha aí o exemplo que eu modifiquei para exibir o vídeo em tela cheia. "F" ou "ALT+ENTER" coloca em tela cheia. DirectShow.au3 InterfaceCall.au3 #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> #include "DirectShow.au3" $hGui = GUICreate("DirectShow Example",600,420,-1,-1,$WS_CAPTION + $WS_SYSMENU+ $WS_MINIMIZEBOX + $WS_MAXIMIZEBOX + $WS_SIZEBOX) $Run = GUICtrlCreateButton("Run",10,350,100,50) GUICtrlSetResizing ( -1, $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $Pause = GUICtrlCreateButton("Pause",120,350,100,50) GUICtrlSetResizing ( -1, $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $Stop = GUICtrlCreateButton("Stop",230,350,100,50) GUICtrlSetResizing ( -1, $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $FileOpen = GUICtrlCreateButton("FileOpen ",340,350,100,50) GUICtrlSetResizing ( -1, $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $Full = GUICtrlCreateButton("Fullscreen (F)",450,350,100,50) GUICtrlSetState(-1,$GUI_DISABLE ) GUICtrlSetResizing ( -1, $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $iBar = GUICtrlCreateLabel("",0,323,465,24) GUICtrlSetResizing ( -1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) GUICtrlSetFont(-1,18,0,0,"arial") GUICtrlSetColor(-1,0xffffff) GUICtrlSetbkColor(-1,0) ;~ GUICtrlSetState(-1,$GUI_DISABLE ) $CSize = GUICtrlCreateButton("\/",570,325,20,20) GUICtrlSetResizing ( -1, $GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) $CFull = GUICtrlCreateButton("FULLSCREEN",480,325,80,20) GUICtrlSetResizing ( -1,$GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT + $GUI_DOCKBOTTOM) Local $GenericFull= False Local $fullscreen = False Local $EsconderB = False Global $IGraphBuilder GUISetState() GUIRegisterMsg($WM_SIZE, "WM_SIZE") While True $iMsg = GUIGetMsg() Select Case $iMsg = $CFull $GenericFull = Not $GenericFull if $GenericFull Then if $EsconderB then _hideButtons($EsconderB) GUICtrlSetData($CFull,"WINDOW") GuiSetStyle($WS_POPUP,-1,$hGui) GUISetState(@SW_MAXIMIZE,$hGui) ;~ _hideButtons($EsconderB) Else if $EsconderB then _hideButtons($EsconderB) GUICtrlSetData($CFull,"FULLSCREEN") GUISetState(@SW_RESTORE,$hGui) GuiSetStyle( $WS_CAPTION + $WS_SYSMENU+ $WS_MINIMIZEBOX + $WS_MAXIMIZEBOX + $WS_SIZEBOX,-1,$hGui) ;~ _hideButtons($EsconderB) EndIf Case $iMsg = $GUI_EVENT_CLOSE Exit Case $iMsg = $CSize _hideButtons($EsconderB) Case $iMsg = $Run IMediaControl_Run($IGraphBuilder) Case $iMsg = $Pause IMediaControl_Pause($IGraphBuilder) Case $iMsg = $Stop IMediaControl_Stop($IGraphBuilder) Case $iMsg = $Full $fullscreen = Not $fullscreen Local $status = ($fullscreen)? IVideoWindow_put_FullScreenMode($IGraphBuilder,-1) : IVideoWindow_put_FullScreenMode($IGraphBuilder,0) Case $iMsg = $FileOpen $var = FileOpenDialog("", Default, _ "Video(*.avi;*.qt;*.mov;*.mpg;*.mpeg;*.m1v;*.wmv;*.flv;*.mp4)|Images(*.gif;*.jpg;*.bmp)|All(*.*)", 1 + 4) if Not @error Then if Not ($IGraphBuilder) Then Local $iPosGet = WinGetClientSize($hGui,"") $IGraphBuilder = GUICtrlCreateGraph($hGui,$var,0,0,$iPosGet[0],$iPosGet[1]-100) GUICtrlSetData($iBar,$var) Else Re_GUICtrlCreateGraph($IGraphBuilder,$var) ;ByRef $IGraphBuilder EndIf EndIf Case (_IsPressed("12") and _IsPressed("0D")) or _IsPressed("46") $fullscreen = Not $fullscreen Local $status = ($fullscreen)? IVideoWindow_put_FullScreenMode($IGraphBuilder,-1) : IVideoWindow_put_FullScreenMode($IGraphBuilder,0) Sleep(300) EndSelect WEnd Func _hideButtons(ByRef $Check) $Check = Not $Check Local $iSpace = ($GenericFull)? 100:45 Local $Size = ($GenericFull)? 55:75 Local $iPosGet = WinGetClientSize($hGui,"") if $Check Then GUICtrlSetData($CSize,"/\") For $i=0 To $Size $iD = ControlGetPos($hGui,"",$Run) ControlMove($hGui,"",$Run, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$Pause) ControlMove($hGui,"",$Pause, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$Stop) ControlMove($hGui,"",$Stop, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$FileOpen) ControlMove($hGui,"",$FileOpen, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$Full) ControlMove($hGui,"",$Full, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$iBar) ControlMove($hGui,"",$iBar, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$CSize) ControlMove($hGui,"",$CSize, $iD[0],$iD[1] + 1) $iD = ControlGetPos($hGui,"",$CFull) ControlMove($hGui,"",$CFull, $iD[0],$iD[1] + 1) IVideoWindow_SetWindowPosition($IGraphBuilder, 0, 0, $iPosGet[0],$iPosGet[1]-100 + $i + $iSpace) ;~ Sleep(10) Next Else GUICtrlSetData($CSize,"\/") For $i=$Size To 0 Step -1 $iD = ControlGetPos($hGui,"",$Run) ControlMove($hGui,"",$Run, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$Pause) ControlMove($hGui,"",$Pause, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$Stop) ControlMove($hGui,"",$Stop, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$FileOpen) ControlMove($hGui,"",$FileOpen, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$Full) ControlMove($hGui,"",$Full, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$iBar) ControlMove($hGui,"",$iBar, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$CSize) ControlMove($hGui,"",$CSize, $iD[0],$iD[1] - 1) $iD = ControlGetPos($hGui,"",$CFull) ControlMove($hGui,"",$CFull, $iD[0],$iD[1] - 1) IVideoWindow_SetWindowPosition($IGraphBuilder, 0, 0, $iPosGet[0],$iPosGet[1]-100 + $i + $iSpace) ;~ Sleep(10) Next EndIf EndFunc Func WM_SIZE($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $wParam Local $iPosGet = WinGetClientSize($hGui,"") IVideoWindow_SetWindowPosition($IGraphBuilder, 0, 0, $iPosGet[0],$iPosGet[1]-100) Return $GUI_RUNDEFMSG EndFunc ;==>WM_SIZE
  8. UDF para rodar vídeos

    Ele ta falando que o aplicativo no win7+ tem a responsabilidade de controlar o próprio som, e não o master (do pc todo) @Belini"depende de uma dll feita pelo criador " DSEnginer.dll? Não precisa usar ela para reproduzir vídeo, só usar o DirectShow direto. AutoItObject.au3 DirectShow_Player.au3
  9. #include <GDIPlus.au3> _GDIPlus_Startup() Coloca essas duas linhas no inicio do seu script. Você usou GDI+ no seu código sem iniciar a utilização dela, por isso que deu erro na linha 102. Não basta só chamar a DLL na linha 13 "Local $hDLL2 = DllOpen("gdi32.dll")". Tem que dar um start também.
  10. Faz o seguinte. Coloca Msgbox("","","Testando 1",) em algumas linhas, assim você encontra o lugar que está dando crash no programa.
  11. Roda ele pelo console da ide do autoit, quando ele fechar sozinho, vc mostra a mensagem que apareceu
  12. Usando a UDF au3Irrlicht2.au3

    Só colar o link do video no post que já fica automatico. link do projeto: https://github.com/pedrowarlock/FrontEnd Eu não atualizei ainda, quando eu tiver tempo eu mando a atualização dele. Fiquei desanimado porque não consegui gerenciar fontes de textos.
  13. Animate Window (Animar GUI do Autoit)

    Eu sempre usava array quando queria selecionar um setor do programa ou um monte de variáveis que eu acabava esquendo a finalidade. Dessa forma meus projetos vão ficar todos organizados por setores.
  14. Animate Window (Animar GUI do Autoit)

    Eu não conhecia a "_WinAPI_DisplayStruct", agora só vou fazer desse jeito que você fez.
  15. Usando a UDF au3Irrlicht2.au3

    Um tempo atras eu tinha me interessado nessa biblioteca de Irrlicht2, o problema é que ela é bem limitada no autoit, isso que é depressivo. Eu fiz esse projeto de menu de seleção 2D um tempo atras ->
  16. Hotkeyset() - Chamar função apenas uma vez

    Olha um exemplo do _IsPressed. Talvez te ajude #include <Misc.au3> #include <MsgBoxConstants.au3> Local $hDLL = DllOpen("user32.dll"), $pressed = False While 1 Select Case _IsPressed("1B", $hDLL) ExitLoop Case _IsPressed("10", $hDLL) if Not $pressed Then ConsoleWrite("Shift pressionado!" & @CRLF) $pressed = True case Else $pressed = False EndSelect WEnd DllClose($hDLL)
  17. Hotkeyset() - Chamar função apenas uma vez

    #include <MsgBoxConstants.au3> HotKeySet("a", "ShowMessage") While Sleep(100) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd Func ShowMessage() HotKeySet("a") ;Remove a Hotkey durante a execução da função MsgBox($MB_SYSTEMMODAL, "", "Testando.") ;Executa qualquer coisa Sleep(1000) HotKeySet("a", "ShowMessage") ;Adiciona novamente a hotkey EndFunc
  18. Abrir vídeo em tela cheia usando UDF Video.au3

    Você definiu o nome de cada GUI na função de carregar o enginer? Aqui funcionou normal, mas não tentei com .cdg. Esse negocio de reproduzir video no WinXP é chato mesmo. Até os desenvolvedores da biblioteca que eu usava no python retiraram a parte responsável por reproduzir vídeo por causa da incompatibilidade, mas basicamente quem possibilita a reprodução de vídeo são os codecs, lá você define a qualidade do audio, qualidade do vídeo, comportamento dele, aspectratio. Aliás. A biblioteca Sound é tipo aquela UDF de vídeo, praticamente igual, tenta aí reproduzir um .mp4 nela, vai abrir esse active Movie Window, acontece isso porque não foi definido a janela da reprodução, aí ele abriu uma própria lá definida pelo sistema. Essa UDF Dsenginer que vem com uma DLL é o esquema de reprodução que usa directshow. Só você procurar no forum gringo que acha algo relacionado com directshow, deve ta tudo desatualizada, aí só você atualizar ela para a versão do autoit que você usa que fica de boa, aí você não vai precisar mais usar a DSEnginer.dll para gerenciar o vídeo e terá o código aberto para você mexer quando quiser...Claro que se você não estiver satisfeito com o winmm.dll do windows (mciSendString). Sobre o sistema de karaoke. O da Raff trabalha com separação de canais de áudio do arquivo .MID. No mid você pode trabalhar da forma que quiser, tipo..mudar TOM, velocidade, instrumentos, definir volume para cada canal, silenciar voz, colocar 2 canais de voz, enquanto na tela aparece a letra da música com um background de paisagem. Lembrando que mudar tom de mp3, mp4, avi, já é mais complicado. Ps. O VLC instalado no computador é necessário para que seja reproduzido o vídeo na sua janela, a UDF dele cria um objeto (VLC Player) na sua janela e manipula ele. Esse negocio de dependência é chato, que nem aquela UDF do windows media player, necessita de Internet Explorer instalado e windows media player instalado, alem necessitar de Codec para reproduzir vídeos.
  19. Organização do script

    Com o tempo eu fico adicionando variáveis nos scripts que eu crio e com o tempo ele vai crescendo crescendo crescendo e quando eu olho para o script eu vejo aquela maçaroca de coisas mortas no script. Existe alguma forma (Função no autoit) de deletar o que não está sendo usada no código e organizar sem ter que olhar linha por linha e verificar tudo o que está sendo usado ou não?
  20. Abrir vídeo em tela cheia usando UDF Video.au3

    Como você usa o VLC, criando um objeto no form e exigindo que o programa esteja instalado no PC, ou usando só a DLL dele diretamente sem a necessidade de instalar nada externo?
  21. Abrir vídeo em tela cheia usando UDF Video.au3

    Fullscreen que você fala é usando o _Video_play com o valor 1 na segunda variável para abrir em tela cheia? E ao abrir em tela cheia ele completar as bordas? Eu não me lembro muito bem, muito tempo atrás eu tinha reparado que no windows xp o video não completava a tela, ficava com umas bordas preta, aí testando no windows 10 o video ficava esticado na tela toda. Acredito que mexendo nas configurações do decoder que eu instalei no PC, eu consegui esticar os vídeos no windows xp, aí depois eu nem mexi mais. Se não funcionar, tenta criar uma função nova na UDF com o '_mciSendString("put movie window at "...' para reposicionar o vídeo na janela. Foi em alguma dessas opões aq \/ Editado: Não tenho certeza, mas pode ser aqui. Aspect Ratio.
  22. Abrir vídeo em tela cheia usando UDF Video.au3

    Para ocupar a tela toda é na configuração do codec, já testei aqui quanto tava mexendo, sabe quando você abre o vídeo e la no task bar do windows aparece um icone? Lá vc configura se o vídeo vai esticar ou não. Isso se vc não definir o AspectRatio do vídeo na janela da execução.
  23. É porque na linha 89 você adiciona um valor sequencial sempre que é adicionado um novo elemento na tabela. " $id= $id + 1" e sempre que você adiciona um novo item, ele segue a referencia da variável $id, até aí tudo bem, mas na hora de deletar um item da tabela você simplesmente exclui um item selecionado sem remover o valor da variável e mesmo removendo o valor da variável, o item selecionado pode ser que não seja sequencial como está na variavel $id. Exemplo (linha 89): você adiciona 1 item novo $id=1 $id=2 $id=3 $id=4 Aí você resolve deletar o item 2, a variavel $id continuará somando o valor 1 . Ao invés de usar a variável $id eu coloquei o _GUICtrlListView_GetItemCount para ler quantas linhas tinham na ListView e adicionar +1 de acordo com a quantidade, então se você deletar uma linha, a função que eu citei ali vai ter um valor exato de itens na lista. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiListView.au3> #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> #include <StringConstants.au3> #include <Array.au3> #include <GuiListBox.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 612, 480, 192, 154) $MenuItem1 = GUICtrlCreateMenu("&Arquivo") $MenuItem2 = GUICtrlCreateMenuItem("Salvar Ctrl+S", $MenuItem1, $SS_CENTER) $MenuItem4 = GUICtrlCreateMenuItem("Carregar Ctrl+O", $MenuItem1, $SS_CENTER) $MenuItem3 = GUICtrlCreateMenuItem("Salvar Como Shitft+Ctrl+S", $MenuItem1, $SS_CENTER) $Group1 = GUICtrlCreateGroup("", 21, 8, 569, 97, $SS_CENTER) $Input1 = GUICtrlCreateInput("ID COR", 122, 32, 97, 21, $SS_CENTER) $Input2 = GUICtrlCreateInput("REGIÃO", 138, 64, 249, 21, $SS_CENTER) $Input3 = GUICtrlCreateInput("Label", 264, 30, 121, 21, $SS_CENTER) $Label1 = GUICtrlCreateLabel("Label", 232, 32, 30, 17, $SS_CENTER) $Button1 = GUICtrlCreateButton("Capturar Cor", 42, 30, 75, 25, $SS_CENTER) $Button2 = GUICtrlCreateButton("Capturar Região", 42, 62, 91, 25, $SS_CENTER) $Button3 = GUICtrlCreateButton("ADD", 442, 24, 113, 33) $Button5 = GUICtrlCreateButton("Delet", 442, 64, 113, 33) $Group2 = GUICtrlCreateGroup("Editar ID selecionado", 8, 384, 601, 57, $SS_CENTER) $Input7 = GUICtrlCreateInput("ID", 10, 402, 40,21, $SS_CENTER) $Input4 = GUICtrlCreateInput("COR", 51, 402, 121, 21, $SS_CENTER) $Input5 = GUICtrlCreateInput("REGIÃO", 173, 402, 249, 21, $SS_CENTER) $Input6 = GUICtrlCreateInput("LABEL", 423, 402, 121, 21, $SS_CENTER) $Button4 = GUICtrlCreateButton("\/", 544, 400, 30, 25, $SS_CENTER) $Button6 = GUICtrlCreateButton("/\", 574, 400, 30, 25, $SS_CENTER) ; Add column ;~ Global $id = Int(0) $List1 = GUICtrlCreateListView("",5, 120, 601, 253, $SS_CENTER) _GUICtrlListView_AddColumn($List1, "ID",40) _GUICtrlListView_AddColumn($List1, "COR",100) _GUICtrlListView_AddColumn($List1, "COORDENADA",305) _GUICtrlListView_AddColumn($List1, "LABEL",150) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $MenuItem2 MsgBox($MB_SYSTEMMODAL, "ctrl + s", "Nothing Here",1) Case $MenuItem3 MsgBox($MB_SYSTEMMODAL, "shift+ctrl s", "Nothing Here",1) Case $MenuItem4 MsgBox($MB_SYSTEMMODAL, "ctrl + o", "Nothing Here",1) Case $Button1 MsgBox($MB_SYSTEMMODAL, "Capturar cor", "Aperte espaço para capturar a cor") GUICtrlSetData($Input1,MouseColor()) Case $Button2 MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição inicial") local $mouse = MouseGetPos() $x_init = $mouse[0] $y_init = $mouse[1] MsgBox($MB_SYSTEMMODAL, "capturar região", "Aperte espaço para capturar a posição final") local $mouse = MouseGetPos() $x_end = $mouse[0] $y_end = $mouse[1] GUICtrlSetData($Input2,$x_init&','&$y_init&' ; '&$x_end&','&$y_end) Case $Button3 _GUICtrlListView_AddItem($List1, _GUICtrlListView_GetItemCount ( $List1 )+1, 1) ; id _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input1), 1, 1) ;cor _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input2), 2, 1) ;coordenada _GUICtrlListView_AddSubItem($List1, _GUICtrlListView_GetItemCount ( $List1 )-1, GUICtrlRead($Input3), 3, 1) ;label ;~ $id= $id + 1 Case $Button4 $Item = _GUICtrlListView_GetSelectedIndices($List1) $Sid = _GUICtrlListView_GetItem($List1, Number($Item),0) $Scor = _GUICtrlListView_GetItem($List1, Number($Item),1) $Scord = _GUICtrlListView_GetItem($List1, Number($Item),2) $Slabel = _GUICtrlListView_GetItem($List1, Number($Item),3) ; get info GUICtrlSetData($Input7,$Sid[3]) GUICtrlSetData($Input4,$Scor[3]) GUICtrlSetData($Input5,$Scord[3]) GUICtrlSetData($Input6,$Slabel[3]) Case $Button5 _GUICtrlListView_DeleteItemsSelected($List1) Case $Button6 ; give back inf if GUICtrlRead($Input7) <> "ID" Then _GUICtrlListView_SetItem($List1, GUICtrlRead($Input4), GUICtrlRead($Input7),1) ;cor _GUICtrlListView_SetItem($List1, GUICtrlRead($Input5), GUICtrlRead($Input7),2) ;coordenada _GUICtrlListView_SetItem($List1, GUICtrlRead($Input6), GUICtrlRead($Input7),3) ;coordenada EndIf EndSwitch WEnd Func MouseColor() local $mouse = MouseGetPos() Return Hex(PixelGetColor($mouse[0],$mouse[1]), 6) EndFunc
  24. Duvida Visualizador De Fotos

    _GUICtrlListView_GetSelectedIndices Procura no help aí _GDIPlus_BitmapCreateFromMemory. Não quer criar nada em GDI? procure por _GDIPlus_BitmapCreateFromFile e veja o ultimo exemplo de como você pode fazer tudo no GDI e jogar para o elemento. #include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() _GDIPlus_Startup() ;initialize GDI+ Local Const $iWidth = 300, $iHeight = 300, $iBgColor = 0xFFE8FF ;$iBgColor format RRGGBB Local $hGUI = GUICreate("GDI+ Example (" & @ScriptName & ")", $iWidth, $iHeight) ;create a test GUI GUISetBkColor($iBgColor, $hGUI) ;set GUI background color GUISetState(@SW_SHOW) Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ;create a graphics object from a window handle Local $hBitmap = _GDIPlus_BitmapCreateFromMemory(BinGIFImage()) ;load binary saved GIF image and convert it to GDI+ bitmap format Local $iW = _GDIPlus_ImageGetWidth($hBitmap), $iH = _GDIPlus_ImageGetHeight($hBitmap) _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, ($iWidth - $iW) / 2, ($iHeight - $iH) / 2) ;display image in GUI Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ;cleanup GDI+ resources _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example Func BinGIFImage() ;test GIF image converted to a binary string Local $sBinGIFImage = '0x47494638396144004700F70000FFFFFF1831711C357D182D6D1C3982182D691C35791C3986CACACA1831751C3D9614246118316D14286914357D1835791C398A183575204192142D65C2C2C2BE9296142459203D92AEAAAEC69A9AB2B2B6BAB6B6CACACEBEAA41142D7520398A395D9618358614317DA29E9E1028751C3D8A0C2455797979A27D7918316941699ECEA2A23D4955101C4955595961656100041C86828214358E182861B6A23DEBEBEBBEBEBE142D71E7B2B220419EB28E8E10246D2D3959DFA6AA10245D8E8A8EA29641696969CAB241202D49082065C6C6CA0C1C516165556979927D61616186B2183179AAAAAAC6C6C2969296DBDBDF243D718A71712031591C3582DFAEAE8E7D86A2A6A6314579866969AA828214285D20316910246592928E1031860410353D5D92F3F3F328499A14399A14203D3539497D754986868E0C2059A28282E3E3E3081024AE9A3D967171454545355992494D61AE8A8E7175797D869ED7A2A26555554D4D51B69296DBD7D7394969928A4D555D65D7A6AA8A7D39142855CAA6AA203982EBCACE5D6569AE9A359E9E9E715959183161B6C2DF5186C22D4169928A55414965BABABE615971AE9E9E0C18394559755979AAEBE3DF31498A5179A22439694159A6313128A6964D9EAABEDFBABE314982514924081849495565A696396969610C287D4535352035719682867171557171694571A64D5D861C3D92D2BE41514141DBCACAEFB6BA49393D24459A315586394561082471C6B649614D55B6AA5D1C2D59BE969A3D49717D7959614949CAB2AE514139244186E3C6CAF3EFEB756935797965867D55595D4561758AFBBEC23D659A1C357161551CBAAA49413D456D798A7D8282617DA2141C35000C2820283D24418A79753DE3DFDB24395D9692695D6986283965B2B2B23559968A8279FBFBEF8692AEEFD74D516D96C6B6559A8E45353541A69E5D82615D967D79454531D2BE4D92864561869E14244D554D456D6555393D555D61613159A6B286867592B29E8A351C316DF7FBFBFFC6C665757D1C397D555D7DCECACA1C3979182D71BEC2CE4539206D611C866561FFFFFF21F904010000FF002C00000000440047000008FF00FF091C48B0A0C18308132A5CC8B0A1C38710233E74674CA2C58B08C5E4B8900F16C68F1651697C152011C8930E977DD3A6F100CA970BC5C9C92166D92431307316540149C2AB1CDE64EA1CFA2FDA87483968CE01878E684E246A7E591A9369DBBE664E5F669254E357264BD3BAE2819715243C0A3FAA90DA45CF519518562894FDA8A451851E3DA8E0C0DBA34D3D25733156A0A32990AFC281FED02115F862333AACE6593A24F550183EB71A5BAC42C7579843785A1D7A52435306249A1F12BB1567452B568134E10864184706478C5333248645C70A3E545A151BDE8A' $sBinGIFImage &= '0F9F0C59C645D2BD70CE381D192A00C7419DCA0AE851A200669E905B1B1D59A264FFD171A7C29D3869B0544893663BF7834AD2E878A7AE1096FB5892D4D185FCC77B8555E8E0883AAEF0B2CA81AE8812C31F59CCF15F4255E013060241ACE2CA856E7451430DBBA0F6E0418CFC5243183570D0055C4F90D855261F1AC44D586AE0F1C4346AA8F1C41378C818A3832D0E840D1E1C144101214EFC10430C4E60C0880D08E063458F0229C10436D830614A21B75041051F59D47186154C6060857B1FCE51A413419CB0CB1F155470CB1F8EB473C20F3F10D2548F679C70423B31E0C301051B6CC008051CD810449A319C01A529EDB8C00C0708441A24A44D3212840B413003252EE198B2411191861AAA9056B4C303253D9E3204343130C108A8A246FF4A81065604F185212DBA13CB258F04E1043636C03A2A234CFCA0CC1A5FE4F3E03DB598334B1F6EC44008B0C2526003064E9832C4140494100D18DCF522432DDD74534D19A074C1C4061414E1AE0DD88C10831B054860EF0507BC919A0AD1C880CA37D598730509653033EDA0D6128BE6B6537C7081BD074CD258360294708135937821483B32D8F282BA1BD8400123D8101283324B8883CB14164B700104F69C52960A0F5C60732A1008E0413E071C50C60907DBB001B62E4C708F399E784080C33643207156BD9470EF070404208F008094F0801D203342EB093CC8608A397AA4B0440810A4F28A045364E3943153D82B412A5E3CD04002F6007240098604FF31ED06D83861C703105C318B10476CB1C726D5D4A3C0058038958FD46B07014A0A2CE0220001807C00010F3160808D152FC853C20121E4A20A382C60924C300AACDDF650F55CA1B602F5D4D2411FEB94620FE77B2F01C70818FCC043CF3D8B20CCEE8360E2F0BDBDE8D40C2EA9DC1B0D208B00B345289BEBBD770A273001C7143D0302880022E4314C1F1D4002814F1240103D4C9BBC7F2F014B7051C60D09189037F221488420187000F3018200F610C0120AE086580822040FB3D71440F01228340010AF78C5053E20007DF8410AFA08C0037EE73DADF9E0000448E10113688014A4C30709C89A4F2E20002D80EB24D780C11A5A6080541CC00033184201FF18C0800808200421F0DE01A7600F6EA590850C68413A182000089460028F58C31A6E884318E8900706F0C0AA0650800124E00182B84212CD470001B8F1776D34C00306E087474CE0015080C61A74C8459424E20BCEE045387CD0023F04A000050880084C910C35AED08D6E4CA1000C60802D68E11146B0052F44B10632F4112588384521508002657CA100FA2840031409095528220492A42424DD28823DB8800B8F20C328DB0087ACB4860A7480430306708D44DC2014B998C52C1E294B01E4037DA1D0830B88900E72E0E0388A220A12B290811564200EF220A6191251' $sBinGIFImage &= '8A0ECC2219BF73A32C45100C458002141D580711E0E0CD1554801CA81A0A12DE91FF810CD4E116A318C004A4C1860E744008C110813A2949497B2842151DA0011086D18834446105B7408153908002D69021035018400358400321084118906428431F600045449406D2684414D8B18238A0603943B1863FB2F38524E0A2003358C0223CE10903A4F4014865E812842104894A610FEC18421AFC5108A750A20E3B8506341800542D34C0032260E94A2380D40788E00542D0831ED8C0834E7CA10EE4488237B2428946D022099C40A416B45080049075AC11202B4BDBF182048C420F7048072D0AA18BB9CEC50EC0E0C43576E003BE06E0AF728C4002361BD80878C00309F040256231047570E21E8808CC30E2818C3E9881053E48A45FCBBAD900FF6CF6B6B5D5470386800C7E78642E8860413FFAF00970B821B60CB02D529790800038D7B9B7752E5787C08974FC762E9740C627CEB10534F035B99BBD022E3C10007DDCE0B9CF256201A4A08E4E5C372B60E0871DCC30081E547688B6F5401E30510912546211E7452F03C8A88572E432302A4807170A60063BA0C102654CAE7E69908B2300C11301962E570B5060673C2230C630C1041A90026A5800C22918803E46E10920B08106A5B80111931B00F572D80816480788455C8009CCC0027C2D803C4A01840EB0E1C87990F18C67ACD774580057733184052640E519F821C80CA8C41ECC70641A80A312FA604098990CD47418410B08DEEB0C66A0852B237269C0B258041BCE710433B840C9649E409BAFA002CDC0020A50D0420BA6FCE61BC0810D89D8C10EE4B1641B4FC0022A482D734E01060BC416913758443B1AA0CA05AC79060D6840507D9082147C48056F28B53C183D80141862132088B5AC63FD069941E9D6B84E484000003B' Return Binary($sBinGIFImage) EndFunc ;==>BinGIFImage
×