Ir para conteúdo


Pedro Pinheiro

Cadastrado: 26 Jan 2016
Offline Última atividade: Hoje, 12:56
-----

#13095 Trabalhando com GDI+ exemplo

Postado por Pedro Pinheiro em 13 junho 2017 - 03:57

Eu fiz esse exemplo simples para mostrar um modo de trabalhar com GDI+. Eu colquei para o programa só redesenhar quando executar uma determinada função, assim evitando o consumo excessivo de memoria.

Eu upei a barra, mas não consegui upar o background (skin.png), mas vc pode colocar qualer imagem para ver o funcionamento.


  1. #include <GDIPlus.au3>
  2. #include <WindowsConstants.au3>
  3. #include <Misc.au3>
  4. #include <File.au3>
  5.  
  6.  
  7. ;~ -ATENÃÃO-
  8. ;~ Coloquei uma lista de ROMS simples que mostra só a ROMS selecionada nas 10 colunas. (Motivo- manter o código pequeno para não complicar muito o exemplo)
  9.  
  10.  
  11. _GDIPlus_Startup()
  12.  
  13. Const $TAMANHO[2] = [800,600]
  14. Const $BARRA = "select.png" ;IMAGEM DA BARRA DE SELEÃÃO
  15. Const $BACKGROUND = "skin.png" ;IMAGEM DE FUNDO DO PROGRAMA
  16. Const $PATHROMS = "roms" ;ARQUIVOS ROMS - ZIP
  17. Const $ROMS = _FileListToArrayRec($PATHROMS, "*.zip", 1, $FLTAR_NORECUR, $FLTAR_SORT, $FLTAR_NOPATH)
  18. MsgBox("","ERRO!", 'Indique uma pasta com arquivos ".zip"')
  19.  
  20. ;BARRA DE SELEÃÃO
  21. Local $TOP_BAR = 115
  22. Const $LEFT_BAR = 28
  23. Const $W_BAR = 321
  24. Const $H_BAR = 49
  25.  
  26. Const $ESPACO_BAR = 41
  27. Const $CONST_BAR = $TOP_BAR
  28. Const $FINAL_BAR = 484
  29.  
  30. Local $POS_ITEM = 1
  31. Const $POS_ITEM_MAX = $ROMS[0]
  32. Const $MAX_ITENS = 10
  33.  
  34. ;LISTA DE JOGOS
  35. Local $TOP_LIST = 123
  36. Const $LEFT_LIST = 28
  37. Const $W_LIST = 321
  38. Const $H_LIST = 49
  39.  
  40. Const $ESPACO_LIST = 41
  41. Const $CONST_LIST = $TOP_LIST
  42. Const $FINAL_LIST = 484
  43. ;============>
  44. Global $GUI = GUICreate("Example", $TAMANHO[0], $TAMANHO[1],-1,-1,$WS_POPUP)
  45. ;============>
  46. Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($GUI)
  47. Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($TAMANHO[0],$TAMANHO[1] , $hGraphic)
  48. Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
  49. Global $hImageBg = _GDIPlus_ImageLoadFromFile($BACKGROUND)
  50. Global $hImageTop = _GDIPlus_ImageLoadFromFile($BARRA)
  51.  
  52. ;TEXTO
  53. Global $hFormat = _GDIPlus_StringFormatCreate()
  54. Global $hBrush_Branco = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
  55. Global $hFamily = _GDIPlus_FontFamilyCreate("impact")
  56. Global $hFont = _GDIPlus_FontCreate($hFamily, 18, 0)
  57. ;LAYOUT -0/100
  58. Global $tLayout = _GDIPlus_RectFCreate(740,25)
  59.  
  60.  
  61. Redraw()
  62. Case GUIGetMsg() = -3
  63. _exit()
  64. Case _IsPressed(26)
  65. If ($TOP_BAR > $CONST_BAR and $TOP_BAR <= $FINAL_BAR) Then $TOP_BAR-=$ESPACO_BAR ;CIMA
  66. if $POS_ITEM > 1 then $POS_ITEM-=1
  67. Redraw()
  68. Case _IsPressed(28)
  69. if ($TOP_BAR >=$CONST_BAR and $TOP_BAR < $FINAL_BAR) Then $TOP_BAR+=$ESPACO_BAR ;BAIXO
  70. if $POS_ITEM < $POS_ITEM_MAX Then $POS_ITEM+=1
  71. Redraw()
  72.  
  73.  
  74. Func Redraw()
  75. ;Limpa tudo
  76. _GDIPlus_GraphicsClear($hBuffer)
  77. ;Background
  78. _GDIPlus_GraphicsDrawImageRect($hBuffer, $hImageBg, 0, 0,$TAMANHO[0], $TAMANHO[1])
  79. ;Barra
  80. _GDIPlus_GraphicsDrawImageRect($hBuffer, $hImageTop, $LEFT_BAR, $TOP_BAR,$W_BAR,$H_BAR)
  81. ;Texto
  82. _GDIPlus_StringFormatSetAlign($hFormat, 2)
  83. _GDIPlus_GraphicsDrawStringEx($hBuffer,$POS_ITEM & "/" & $POS_ITEM_MAX , $hFont , $tLayout , $hFormat, $hBrush_Branco)
  84.  
  85.  
  86. ;LAYOUT LISTA
  87. _GDIPlus_StringFormatSetAlign($hFormat, 1)
  88. For $i=1 to $MAX_ITENS
  89. $tLayout_Lista = _GDIPlus_RectFCreate($LEFT_LIST,$TOP_LIST,$W_LIST,$H_LIST)
  90. _GDIPlus_GraphicsDrawStringEx($hBuffer,$ROMS[$POS_ITEM], $hFont , $tLayout_Lista , $hFormat, $hBrush_Branco)
  91. $TOP_LIST+=$ESPACO_LIST
  92. $TOP_LIST=$CONST_LIST
  93. ;Desenha o grafico
  94. _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
  95.  
  96. Func _exit()
  97. GUIDelete($GUI)
  98. _GDIPlus_ImageDispose($hImageBg)
  99. _GDIPlus_ImageDispose($hImageTop)
  100. _GDIPlus_Shutdown()

Thumbnail(s) anexado(s)

  • select.png

Arquivo(s) anexado(s)




#13063 Apagar pastas e arquivos com direito de administrador

Postado por Pedro Pinheiro em 30 maio 2017 - 02:29

Coloca no início do código #RequireAdmin


#12923 Problema com mensagem usando GDIPlus

Postado por Pedro Pinheiro em 02 maio 2017 - 10:46

Sobre o serrilhado eu não consegui resolver...maaass tem como. Tipo.. Você vai ter de mudar a cor de fundo da imagem para "0xFF00FF" ai na hora de colocar transparencia tem que limpar tudo que for que for dessa cor com _GDIPlus_GraphicsClear($hBuffer,0xFFFF00FF)  ai no caso tem um _WinAPI_SetLayeredWindowAttributes que bota transparencia na GUI ai dai pra frente meu cerebro trava já que o gdi apaga oq for verde e o winApi apaga o background da GUI...Vou ver aqui




#12920 Problema com mensagem usando GDIPlus

Postado por Pedro Pinheiro em 02 maio 2017 - 07:53

Serrilhado que você fala é o texto com umas bordinhas brancas? Porque fora isso não encontrei nada  de errado aqui.

 

Vou pegar um exemplo aqui. Só um segundo. Você vai ter de apagar os elementos e redesenha-los.

 

Olha aqui esse exemplo. Eu deixei tudo comentado. Eu fiz o seguinte...redesenhei os elementos em um loop, mas você pode desenhar ao apertar o botão

 

Ai desse modo vc não precisa de janela auxiliar.

  1.  
  2. #include <GDIPlus.au3>
  3. #include <WindowsConstants.au3>
  4. #include <guiconstantsex.au3>
  5. ;Nada de mais - Só para pegar a imagem do diretorio do Autoit
  6. Local $sWow64 = ""
  7. If @AutoItX64 Then $sWow64 = "\Wow6432Node"
  8. Local $sRegPath = "HKLM\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt"
  9. Local $sFile = RegRead($sRegPath, "InstallDir") & "\Examples\GUI\Torus.png"
  10. ;--------------
  11.  
  12. ;GUI
  13. Global $frmMain = GUICreate("Example", 250, 300,-1,-1,$WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
  14. GUISetBkColor(0xffffff)
  15. $b1=GUICtrlCreateButton("PLAY",30,250,50,50)
  16. $b2=GUICtrlCreateButton("PAUSE",80,250,50,50)
  17. $b3=GUICtrlCreateButton("ZERAR",130,250,50,50)
  18. $b4=GUICtrlCreateButton("SAIR",180,250,50,50)
  19. _GDIPlus_Startup()
  20. ;----
  21. Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($frmMain)
  22. Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics(250, 250, $hGraphic)
  23. Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
  24.  
  25. ;Carrega o background
  26. $hImageBg = _GDIPlus_ImageLoadFromFile($sFile)
  27. ;Relacionado ao texto
  28. $hBrush_preto = _GDIPlus_BrushCreateSolid(0xFF000000)
  29. $hFormat = _GDIPlus_StringFormatCreate()
  30. $hFamily = _GDIPlus_FontFamilyCreate("Arial") ;Nome da fonte utilizada
  31. $hFont = _GDIPlus_FontCreate($hFamily, 30, 1) ;18 = Tamanho da fonte / 1 = Fonte gorda, esqueci como se fala
  32. $tLayout = _GDIPlus_RectFCreate(0, 20, 230, 0) ;Layout do Text...local na tela, os Zeros informa que a região do texto irá crescer de acordo com o tamanho do texto
  33. _GDIPlus_StringFormatSetAlign($hFormat, 1) ;Alinha o text no centro
  34. ;-------------------
  35. GUISetState(@SW_SHOW, $frmMain)
  36. _WinAPI_SetLayeredWindowAttributes($frmMain, 0xffffff, 0xFF)
  37.  
  38. $Texto="Testando"
  39. $somando=0
  40. $play=False
  41.  
  42. While(True)
  43. $nMsg = GUIGetMsg()
  44. Switch $nMsg
  45. Case $GUI_EVENT_CLOSE,$b4
  46. Case $b1
  47. $play=true
  48. Case $b2
  49. $play=False
  50. Case $b3
  51. $somando=0
  52. EndSwitch
  53.  
  54. ; Limpa tudo
  55. _GDIPlus_GraphicsClear($hBuffer,0xFFffffff)
  56. ; Desenha o background
  57. _GDIPlus_GraphicsDrawImage($hBuffer, $hImageBg, 0, 0)
  58. ; Desenha o Texto
  59. _GDIPlus_GraphicsDrawStringEx($hBuffer, $Texto & @CRLF & $somando, $hFont, $tLayout, $hFormat, $hBrush_preto)
  60.  
  61. _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 0, 0)
  62. if $play Then $somando+=1
  63.  
  64. WEnd
  65.  
  66.  



#12824 Sons do windows ao digitar em um GUI

Postado por Pedro Pinheiro em 29 março 2017 - 11:52

É uma coisa bem curiosa e difícil de se pesquisar, já que não tem como achar palavras chaves a respeito. Enfim, descobri como resolve isso. Bem simples! é só usar um style na GUI. "$WS_DISABLED"

 

 

Prontinho.

  1.  
  2. GUICreate("Example", 400, 100,-1,-1,$WS_DISABLED)
  3.  



#12804 Movendo texto na label

Postado por Pedro Pinheiro em 28 março 2017 - 03:44

Nossa @Manimal, ficou Show. Nem precisa de janela filha. Muito bom mesmo!




#12790 Incrementar variável dentro de Label

Postado por Pedro Pinheiro em 25 março 2017 - 10:22

Pode dar mais detalhes? Uma coisa que eu vi é que você fez um for dentro de outro com a mesma quantidade de voltas. Isso da pra fazer dentro do principal. Você quer criar um label ai em seguida vc quer que apareça um ...1..14% nele? ai depois refazer o processo?

 

 

Vê se é isso que vc quer?

  1.  
  2. #include <StaticConstants.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <Array.au3>
  5.  
  6. HotKeySet("{esc}",_quit)
  7. Local $hGUI = GUICreate("Example")
  8.  
  9. GUISetState(@SW_SHOW, $hGUI)
  10.  
  11. Local $p=1
  12. Local $Label[1]
  13. Local $y = 20
  14.  
  15. For $i = 1 to 14
  16. _ArrayAdd($Label, GUICtrlCreateLabel("",276, $y, 35, 18, $SS_SUNKEN, $SS_BLACKFRAME)) ; Cria as Labels uma em baixo da outra.
  17. $j = 0
  18. For $j = 0 to 100
  19. GUICtrlSetData($Label[$i], $j & "%")
  20. $j += 1
  21. Sleep(100)
  22. $y += 20
  23.  
  24.  
  25. ; Loop until the user exits.
  26. While 1
  27. Switch GUIGetMsg()
  28. Case $GUI_EVENT_CLOSE, $idOK
  29. ExitLoop
  30.  
  31. EndSwitch
  32. WEnd
  33.  
  34.  
  35. Func _quit()
  36. EndFunc
  37.  
  38.  
  39.  
  40.  



#12758 Arquivo em Memoria

Postado por Pedro Pinheiro em 21 março 2017 - 11:28

Muito bom @manimal. Só acho estranho se o programa morrer. Ai vai ficar aquela unidade la. Só atribuir como oculta ou sei la. Vivendo e aprendendo. Vc é demais.


#12749 Arquivo em Memoria

Postado por Pedro Pinheiro em 21 março 2017 - 02:59

Eu não posso te dar uma resposta completa, pois estou do celular, mas vou te dizer os 3 modos que eu conheço.

1- usar o FileInstall. Joga para o @tempdir e usa de la.

2- embutir o arquivo usando #AutoIt3wrapper_res_file_add=local do arquivo, depois disso voce vai ter de pescar do executavel para adicionar na gui. Esse metodo fica na memoria, eu particularmente só consegui executar audios diretamente de um executavel/dll.
-procure no help por _WinApi_FindResource.

No exemplo é só trocar o @scriptDir pelo local de instalaçao do autoit. Assim ele vai pescar a dll exemplo.


3-usar o programa postado no forum. CreateFileEmbedded - esse programa converte o arquivo em binary ai voce embute esse arquivo no executavel como se fosse um include. Esse metodo é parecido com o fileinstall. Voce joga o arquivo no @tempdir e abre o arquivo de lá mesmo.


4-converter o arquivo em binary e uzar diretamente do executavel. Eu vi isso no help.


#12742 Duvida com array

Postado por Pedro Pinheiro em 20 março 2017 - 09:46

@manimal. Só minha net voltar que eu olho a sua dica. Obrigado mesmo pela ajuda! Autoit é tão divertido. Tenho muita raiva de não ser muito conhecido. :(


#12629 Acessar uma pagina Web se logar e realizar download

Postado por Pedro Pinheiro em 09 março 2017 - 04:12

Sim, é possível. O autoit utiliza o internet explorer para fazer esse gerenciamento e nele você pode clicar em determinados links, logar em conta e fazer diversas funções utilizando o Internet explorer. Procure por "_IELinkClickByText"no help do autoit, lá você encontra uns exemplos, eu ouvi dizer que um alemão sei lá criou as funções para o Firefox, mas não cheguei a pesquisar, nunca mexi com esse sistema, então fica para próximo que comentar. Coloquei para trocar de caixa no tab, mas provavelmente tem como selecionar as caixas com alguma função.

 

 

Aqui um exemplo:

  1.  
  2. #include <IE.au3>
  3.  
  4. Local $oIE = _IECreate("http://forum.autoitbrasil.com/")
  5.  
  6. Local $sMyString = "Entrar"
  7. Local $oLinks = _IELinkGetCollection($oIE)
  8. For $oLink In $oLinks
  9. Local $sLinkText = _IEPropertyGet($oLink, "innerText")
  10. If StringInStr($sLinkText, $sMyString) Then
  11. _IEAction($oLink, "click")
  12. Sleep(1500)
  13. send("Usuario")
  14. send("{TAB}")
  15. send("senha")
  16.  
  17. ExitLoop
  18. EndIf
  19.  



#12627 Elementos transparentes na tela.

Postado por Pedro Pinheiro em 08 março 2017 - 09:08

AAAH Mil desculpas, não conheço nenhum modo de acompanhar tópicos antigos, não aparece nenhuma notificação para mim...enfim. A tempos eu já resolvi esse problema, na verdade eu achei duas alternativas, as UDF's abaixo.

 

1º GIFAnimation.au3

 

2º GUICtrlPic.au3

 

 

As duas emulavam .PNG de forma que mantinha as imagens com seus backgrounds transparentes e assim com o "ControlMove" eu movimentava barra pela GUI. A GUICtrlPic.au3 foi mais eficiente, mas ela não emula Gif animado. A GIFanimation.au3 tinha um pequeno bug que as vezes apagava todos os elementos da gui.




#12618 Nome Completo dos Arquivos

Postado por Pedro Pinheiro em 07 março 2017 - 06:28

Quando eu quero que um programa gerencie outro programa se baseando nos diretórios ou nos nomes das pastas eu uso a UDF "_PathSplit.au3". Ele é parecido com o sistema do autoit, mas ele retorna a pasta pai dos arquivos. Eu tinha criado um programa que executava algo a partir de uma linha de comando com o nome da pasta.

Ex:

C:/programas/jogos/gta.exe

C:/

/programas/jogos/

/jogos/

gta

.exe

 

 

Outro também é um programa que eu fiz que executa o programa com a linha de comando Ex: "avast" e ele ia diretamente na pasta do arquivo com base na linha de comando.

  1.  
  2. ShellExecute("setup.exe", "", & @scriptdir & "\" & CmdLine[1] & "\", "open",@SW_SHOW)
  3.  



#12607 Programa de leitura de Livro com PDF na GUI

Postado por Pedro Pinheiro em 06 março 2017 - 03:31

Fui responder a pergunta sobre autoit de uma pessoa em outro forum e acabei criando esse programa de leitura de livros. Ele é bem prático e o script é mais para estudos.

 

 

Só copiar e colar o script no autoit e executar. As imagens e o pdf de test estão tudo online e o programa baixa tudo sozinho automaticamente. Só não terminei porque fiquei com preguiça de criar um banco de dados.

  1.  
  2. #include <GUIConstantsEx.au3>
  3. #include <StaticConstants.au3>
  4. #include <WindowsConstants.au3>
  5. #include <TabConstants.au3>
  6. #include <EditConstants.au3>
  7.  
  8.  
  9. ;****************************************
  10. ;Autoit V3
  11. ;Autor Pedro Warlock
  12. ;Data 04/03/2017
  13. ;Objetivo: Leitor de PDF
  14. ;****************************************
  15.  
  16. ;pag 1
  17. InetGet("http://2.bp.blogspot.com/-Qe5XWmdHYnU/VUV2zlC-6kI/AAAAAAAAAC8/3vYDIqAKpWE/s1600/PJO%2B1.jpg", @TempDir & "\livro1.jpg")
  18. InetGet("http://files.livros-online-para-baixar.webnode.com/200000048-a4b7ea6adb/100SucosComPoderesMedicinais.jpg", @TempDir & "\livro2.jpg")
  19. InetGet("http://lelivros.life/wp-content/uploads/2017/02/Baixar-Livro-A-Viuva-Fiona-Barton-em-Pdf-ePub-e-Mobi-ou-ler-online-174x270.jpg", @TempDir & "\livro3.jpg")
  20. InetGet("https://s-media-cache-ak0.pinimg.com/736x/79/e7/c6/79e7c6e787b933ccb33ccdffc9259a16.jpg", @TempDir & "\livro4.jpg")
  21. InetGet("https://s-media-cache-ak0.pinimg.com/736x/d2/94/34/d294345ddc06df732c43915207b1fd1d.jpg", @TempDir & "\livro5.jpg")
  22. InetGet("http://skoob.s3.amazonaws.com/livros/128977/OS_MISTERIOS_DO_APOCALIPSE_1284811078P.jpg", @TempDir & "\livro6.jpg")
  23. InetGet("https://s-media-cache-ak0.pinimg.com/originals/ed/91/3d/ed913db1a19cd54e771223c9a8f8d677.jpg", @TempDir & "\livro7.jpg")
  24. InetGet("http://lelivros.life/wp-content/uploads/2015/11/Baixar-Livro-A-Garota-Inglesa-Gabriel-Allon-Vol-13-Daniel-Silva-em-PDF-ePub-e-Mobi-ou-ler-online-370x531.jpg", @TempDir & "\livro8.jpg")
  25.  
  26. ;pag 2
  27. InetGet("https://s-media-cache-ak0.pinimg.com/736x/79/e7/c6/79e7c6e787b933ccb33ccdffc9259a16.jpg", @TempDir & "\livro9.jpg")
  28.  
  29. ;pdf
  30. InetGet("https://clubdelivros.files.wordpress.com/2013/09/percy-jackson-e-os-olimpianos_-o-ladrao-de-raios-vol-1-rick-riordan.pdf", @TempDir & "\percy-graphic.pdf")
  31. Local $FILE = @TempDir & "\percy-graphic.pdf"
  32.  
  33.  
  34. ;imagens da gui
  35. InetGet("http://i.imgur.com/6xYV9Qb.jpg", @TempDir & "\seta_icone1.jpg")
  36. InetGet("http://i.imgur.com/3LkHlMl.jpg", @TempDir & "\seta_icone2.jpg")
  37. InetGet("http://i.imgur.com/2WTGnNX.jpg", @TempDir & "\ler.jpg")
  38. InetGet("http://i.imgur.com/Wq0pQjK.jpg", @TempDir & "\sair.jpg")
  39.  
  40. Local $seta1 = @TempDir & "\seta_icone1.jpg"
  41. Local $seta2 = @TempDir & "\seta_icone2.jpg"
  42. Local $botaoLer = @TempDir & "\ler.jpg"
  43. Local $botaoSair = @TempDir & "\sair.jpg"
  44.  
  45. Local $IMAGEM1 =@TempDir & "\livro1.jpg"
  46. Local $IMAGEM2 =@TempDir & "\livro2.jpg"
  47. Local $IMAGEM3 =@TempDir & "\livro3.jpg"
  48. Local $IMAGEM4 =@TempDir & "\livro4.jpg"
  49. Local $IMAGEM5 =@TempDir & "\livro5.jpg"
  50. Local $IMAGEM6 =@TempDir & "\livro6.jpg"
  51. Local $IMAGEM7 =@TempDir & "\livro7.jpg"
  52. Local $IMAGEM8 =@TempDir & "\livro8.jpg"
  53.  
  54.  
  55. $Form1 = GUICreate("Livros", 710, 600, -1, -1, $GUI_SS_DEFAULT_GUI)
  56.  
  57. $select=GUICtrlCreateButton("", 2000, 2000, 150, 200)
  58. GUICtrlSetBkColor(-1, 0xFFFFFF)
  59. GUICtrlSetState(-1, $GUI_DISABLE)
  60.  
  61.  
  62.  
  63. $Pic1 = GUICtrlCreatePic($IMAGEM1, 30, 40, 133, 181)
  64. GUICtrlSetCursor(-1, 0)
  65. $Pic2 = GUICtrlCreatePic($IMAGEM2, 200, 40, 133, 181)
  66. GUICtrlSetCursor(-1, 0)
  67. $Pic3 = GUICtrlCreatePic($IMAGEM3, 370, 40, 133, 181)
  68. GUICtrlSetCursor(-1, 0)
  69. $Pic4 = GUICtrlCreatePic($IMAGEM4, 540, 40, 133, 181)
  70. GUICtrlSetCursor(-1, 0)
  71. $Pic5 = GUICtrlCreatePic($IMAGEM5, 30, 240, 133, 181)
  72. GUICtrlSetCursor(-1, 0)
  73. $Pic6 = GUICtrlCreatePic($IMAGEM6, 200, 240, 133, 181)
  74. GUICtrlSetCursor(-1, 0)
  75. $Pic7 = GUICtrlCreatePic($IMAGEM7, 370, 240, 133, 181)
  76. GUICtrlSetCursor(-1, 0)
  77. $Pic8 = GUICtrlCreatePic($IMAGEM8, 540, 240, 133, 181)
  78. GUICtrlSetCursor(-1, 0)
  79.  
  80. $seta1 = GUICtrlCreatePic($seta1, 630, 460, 50, 50)
  81. GUICtrlSetCursor(-1, 0)
  82. $seta2 = GUICtrlCreatePic($seta2, 630, 515, 50, 50)
  83. GUICtrlSetCursor(-1, 0)
  84.  
  85.  
  86.  
  87. GUICtrlCreateButton("", 20, 440, 580, 150)
  88. GUICtrlSetBkColor(-1, 0xFFFFFF)
  89. GUICtrlSetState(-1, $GUI_DISABLE)
  90. $Descricao1=GUICtrlCreateLabel("",30, 450, 560, 95)
  91. GUICtrlSetFont(-1, 10)
  92. GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  93. $Descricao2=GUICtrlCreateLabel("", 50, 550, 470, 35,$SS_Center)
  94. GUICtrlSetColor(-1,0x006666)
  95. GUICtrlSetFont(-1, 20,700,-1,"arial",900)
  96. GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  97.  
  98. $Ler = GUICtrlCreatePic($botaoLer, 510, 550, 81, 30)
  99. GUICtrlSetCursor(-1, 0)
  100.  
  101.  
  102.  
  103. GUISetState(@SW_SHOW)
  104.  
  105.  
  106.  
  107. While 1
  108. $nMsg = GUIGetMsg()
  109. Switch $nMsg
  110. Case $GUI_EVENT_CLOSE
  111. Case $Ler
  112. _AbriPDF()
  113.  
  114. Case $Pic1
  115. GUICtrlSetPos($select,22, 30)
  116. GUICtrlSetData($Descricao1,"Primeiro volume da saga Percy Jackson e os olimpianos, O ladrão de raios esteve entre os primeiros lugares na lista das séries mais vendidas do The New York Times. O autor conjuga lendas da mitologia grega com aventuras no século XXI. Nelas, os deuses do Olimpo continuam vivos, ainda se apaixonam por mortais e geram filhos metade deuses, metade humanos, como os heróis da Grécia antiga. Marcados pelo destino, eles dificilmente passam da adolescência. Poucos conseguem descobrir sua identidade.")
  117. GUICtrlSetData($Descricao2,"O Ladrão De raios")
  118. Case $Pic2
  119. GUICtrlSetPos($select,192, 30)
  120. GUICtrlSetData($Descricao1,"")
  121. GUICtrlSetData($Descricao2,"100 Sucos Medicinais")
  122. Case $Pic3
  123. GUICtrlSetPos($select,362, 30)
  124. GUICtrlSetData($Descricao1,"")
  125. GUICtrlSetData($Descricao2,"A Viuva")
  126. Case $Pic4
  127. GUICtrlSetPos($select,532, 30)
  128. GUICtrlSetData($Descricao1,"")
  129. GUICtrlSetData($Descricao2,"O Semeador De ideias")
  130. Case $Pic5
  131. GUICtrlSetPos($select,22, 230)
  132. GUICtrlSetData($Descricao1,"")
  133. GUICtrlSetData($Descricao2,"A Aposta")
  134. Case $Pic6
  135. GUICtrlSetPos($select,192, 230)
  136. GUICtrlSetData($Descricao1,"")
  137. GUICtrlSetData($Descricao2,"Os Mistérios do Apocalipse")
  138. Case $Pic7
  139. GUICtrlSetPos($select,362, 230)
  140. GUICtrlSetData($Descricao1,"")
  141. GUICtrlSetData($Descricao2,"GREY")
  142. Case $Pic8
  143. GUICtrlSetPos($select,532, 230)
  144. GUICtrlSetData($Descricao1,"")
  145. GUICtrlSetData($Descricao2,"A Garota Inglesa")
  146. EndSwitch
  147. WEnd
  148.  
  149.  
  150. Func _AbriPDF()
  151.  
  152. $oPDF = ObjCreate("AcroPDF.PDF.1") ;
  153. $oPDF.src = $FILE
  154.  
  155. $GuiLer=GUICreate("PDF Object", 802, 570, -1, -1, BitOR($WS_BORDER, $WS_POPUP))
  156. GUISetBkColor(0xFFFFFF)
  157. $GUI_ActiveX = GUICtrlCreateObj($oPDF, 10, 10, 780, 500)
  158. GUICtrlSetStyle($GUI_ActiveX, $WS_VISIBLE)
  159. GUICtrlSetResizing($GUI_ActiveX, $GUI_DOCKAUTO) ; Auto Resize Object
  160.  
  161. $Sair = GUICtrlCreatePic($botaoSair, 650, 530, 87, 36)
  162. GUICtrlSetCursor(-1, 0)
  163.  
  164. GUISetState(@SW_SHOW)
  165.  
  166. While 1
  167.  
  168. $nMsg = GUIGetMsg()
  169. Switch $nMsg
  170. Case $Sair
  171. GUISetState(@SW_HIDE,$GuiLer)
  172. ExitLoop
  173. EndSwitch
  174. WEnd
  175.  
  176. EndFunc
  177.  
  178.  
  179. Func MyErrFunc()
  180. Dim $oMyError
  181.  
  182. $HexNumber = Hex($oMyError.number, 8)
  183. MsgBox(0, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
  184. "err.description is: " & @TAB & $oMyError.description & @CRLF & _
  185. "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
  186. "err.number is: " & @TAB & $HexNumber & @CRLF & _
  187. "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
  188. "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
  189. "err.source is: " & @TAB & $oMyError.source & @CRLF & _
  190. "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
  191. "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
  192. )
  193. SetError(1)
  194. EndFunc
  195.  

jpwV7QK.png




#12228 Encontrar serial do HD.

Postado por Pedro Pinheiro em 24 novembro 2016 - 03:40

 

Serve isso?

  1.  
  2. #include <MsgBoxConstants.au3>
  3.  
  4. Local $sSerial = DriveGetSerial(@HomeDrive & "\")
  5. MsgBox($MB_SYSTEMMODAL, "", "Serial Number: " & $sSerial)
  6.  
  7.  

 

Muito legal, não sabia que o autoit achava o serial dos drivers, mas seria perfeito se o serial voltado fosse o verdadeiro. Ele me voltou uns números e não é esse o serial do meu HD. Tem algo errado ai. Eu queria o serial real do HD, aquele ali em baixo. O de cima pode ser alterado com programas.

 

2OMSf2W.png