31
Tabela de conteúdos: 1. Visão geral 2. Guia de introdução 3. Preferências 4. Gestos de treinamento 5. Criação de ações 6. Definição de aplicações 7. Criando teclas de atalho 8. Windows ignorado 9. Relatório de ação 10. Lua global 11. Variáveis disponíveis para todos os scripts Lua 12. Funções de ação [voltar ao topo] Resumo: StrokesPlus é um programa de reconhecimento de gesto de mouse que permite que você automatize tarefas repetitivas por simplesmente desenhar um gesto com o mouse ou realizando modificadores do mouse ou teclado para disparar uma sequência de ação. Se a seqüência de ação, que você está querendo fogo usa um gesto, mouse/teclado modifier(s) ou ambos, você começa com pressionando o botão selecionado no curso de seu mouse. Por padrão, o botão do curso é atribuído ao botão direito do mouse. Para iniciar, pressione e segure o botão de ataque e também desenhar o gesto ou executar o modifier(s) de mouse/teclado e, em seguida, solte o botão de ataque. Se os eventos são reconhecidos como sendo amarrado em uma sequência de ação, StrokesPlus vai demitir a seqüência de ação. Na Figura 1 abaixo, nós vamos desenhar a letra R mantendo premido o botão direito do mouse, desenhando o gesto R, em seguida, solte o botão direito do mouse. O gesto R é atribuído a uma ação que abre a caixa de diálogo Executar do Windows e tipos "notepad" (Figura 2), pressiona Enter, faz uma pausa por um momento, então tipos "Olá mundo" seguiu pressionando ALT + H (para abrir o menu de ajuda no bloco de notas) e finalmente pressiona "um" para selecionar sobre o bloco de notas no menu, que exibe a janela sobre o bloco de notas (Figura 3). Figura 1 Figura 2 Traduzido 100% Inglês Português

StrokesPlus Help

Embed Size (px)

DESCRIPTION

manual em portugues

Citation preview

  • Tabeladecontedos:

    1. Visogeral2. Guiadeintroduo3. Preferncias4. Gestosdetreinamento5. Criaodeaes6. Definiodeaplicaes7. Criandoteclasdeatalho8. Windowsignorado9. Relatriodeao

    10. Luaglobal11. VariveisdisponveisparatodososscriptsLua12. Funesdeao

    [voltaraotopo]Resumo:

    StrokesPlusumprogramadereconhecimentodegestodemousequepermitequevocautomatizetarefasrepetitivasporsimplesmentedesenharumgestocomomouseourealizandomodificadoresdomouseoutecladoparadispararumasequnciadeao.

    Seaseqnciadeao,quevocestquerendofogousaumgesto,mouse/tecladomodifier(s)ouambos,voccomeacompressionandoobotoselecionadonocursodeseumouse.Porpadro,obotodocursoatribudoaobotodireitodomouse.Parainiciar,pressioneesegureobotodeataqueetambmdesenharogestoouexecutaromodifier(s)demouse/tecladoe,emseguida,solteobotodeataque.Seoseventossoreconhecidoscomosendoamarradoemumasequnciadeao,StrokesPlusvaidemitiraseqnciadeao.

    NaFigura1abaixo,nsvamosdesenharaletraRmantendopremidoobotodireitodomouse,desenhandoogestoR,emseguida,solteobotodireitodomouse.OgestoRatribudoaumaaoqueabreacaixadedilogoExecutardoWindowsetipos"notepad"(Figura2),pressionaEnter,fazumapausaporummomento,entotipos"Olmundo"seguiupressionandoALT+H(paraabriromenudeajudanoblocodenotas)efinalmentepressiona"um"paraselecionarsobreoblocodenotasnomenu,queexibeajanelasobreoblocodenotas(Figura3).

    Figura1

    Figura2

    Traduzido100%Ingls Portugus

  • Figura3

    MuitasdastarefascomunsqueaspessoasescolhemparacriarseqnciasdeaoparasoaspectosmuitomundanosdousandooWindows,comominimizaroumaximizarumajanela,refrescandoumapginadaweboufecharumprograma.MasnamedidaemquevocpodeaproveitarStrokesPlusparaaumentarasuaprodutividadelimitadaapenaspelasuaimaginao!

    [voltaraotopo]Introduo:

    StrokesPlusvemcomvriosgestosjtreinadoseumavariedadedeseqnciasdeaocomunsjdefinido.ParafazeroutracoisasenoousoStrokesPlusparadispararseqnciasdeao,vocdevecliqueoconedeStrokesPlusnareadabandejadabarradetarefas,pertodorelgio(Figura4).

    Figura4

  • Nessemenu,vocpode:

    1. entrarnoMododetreino(quetambmpodeserrealizadapormeioclicandonoconedeStrokesPlus)2. alterarobotodeataque3. habilitaroudesabilitarodesenhodegestosnatela4. desabilitaroStrokesPlus(quetambmpodeserrealizadaporclicarnoconedeStrokesPlusoupressionandoCTRL+

    SHIFT+WIN+Z)5. AbraajaneladeListadeignorados6. Abraajaneladeaes(quetambmpodeserrealizadapelaesquerdaclicandoduasvezesnoconedeStrokesPlus)7. Abraajaneladepreferncias(quetambmpodeserrealizadapormeioclicandoduasvezesnoconedeStrokesPlus)8. DefiniroualterarasuasenhaparacriptografarStrokesPlus.xmlerestringiroacessojaneladeconfigurao.9. RecarregarosdadosdeconfiguraodosStrokesPlusdosStrokesPlus.xml

    10. Abrirestapginadeajuda11. StrokesPlusdesada(quetambmpodeserrealizadapressionandoCTRL+ALT+SHIFT+WIN+END)

    [voltaraotopo]Preferncias:

    AFigura5representaajaneladeprefernciasemStrokesPlus.Destajanela,vocpodealterarvriasdascaractersticasdosStrokesPlusparaatendersuaspreferncias.

    Botodeacidentevascularcerebralobotodomouseutilizadoparainiciarodisparoseqnciasdeao

    Ignorarchavepressionadoantesdepressionarobotodeataque,sevocnoquerStrokesPlusatentativadereconhecerumaao.IstotilquandovocdesejaexecutaralgumaaonoWindowsououtroaplicativoquerequerusandoobotodeataque.

    CancelaroatrasoesteotempodeesperaparaumaaodetimeoutStrokesPlus.Porexemplo,sevocdecidiu,cliqueearrastealgunsarquivosnoWindowsExplorer,StrokesPluscomeariaaprocurarporseqnciasdeaosejaacionadoquandovocsoltaobotodeataque.Noentanto,sevocquerStrokesPlusparainterromperacapturaaseqncia,simplesmentemantenhaobotodeataquepressionadoeparardesemoverorato.Apsonmerodemilissegundosespecificadoparacancelaroatraso,StrokesPlusirinterromperacapturadeeventosdemouseeteclado,emseguida,repetiroseventosdemousequeocorreu.Nestecaso,eleteriainstantaneamentemoveromousedevoltaparaaposioinicialeenviaramensagemcomobotodireito,entomovaomouseparaondevoctinha.Ento,nesteexemplo,vocveriaosarquivosanexadosparaocursordomousecomovocfariasevoctivesserightclickedearrastoualgunsarquivosnoExplorersemStrokesPluscorrendo(ousevoctivessemantidoatecladeignorarantesdepressionarobotodireitodomouse).

    SynapticsTouchPadsefordetectadoumSynapticsTouchPadesoftware,permitequevocespecifiquese1(torneiraesegurar),2ou3dedosserousadosparacapturarumgesto.ControlesdeSensibilidadedemovimentodocursorcomorpidasoulentasoponteirodomousesemoveenquantodesenhasobreoTouchPadIstopodeserde5%esuperior.1dedomovimentolimiteespecificaonmerodetiquesdoTouchPadacimadoqualaatividadedoTouchPadnoconsideradaumgesto(ouseja,quevocsestmovendooponteiro).1dedopreensoatrasoquantotempovoctemquesegurarseudedoaindaparas+iniciaracapturadeumgesto.VerificaDesabilitarintegraoparaimpedirques+nemcarregarainterfaceSynapticsinternamente.

    EstilodetraadoestescampospermitemquevocpersonalizecomoStrokesPlusdesenhagestosnatela.Escolheracor...permiteselecionaracordalinhadetraodogesto.Widthespecificaaespessuradalinha.Comprimentodegestodemin.Especificaadistnciaquedeveserestabelecidaantess+consideraqueumgestodeveserreconhecido.Comprimentodosegmentodemin.especificaadistnciaentresegmentosdedesenho.Comprimentoindicaocomprimentomximo(trilha)queirdesenharStrokesPlus,0paraoinfinito.Issonoafetaogestorealsendodesenhado,apenasquantoalinhanatela.Opacidadeafetaatransparnciadalinha1serquaseinvisvele255seropaco(slido).MostrarinstruiStrokesPlusounoatolimiteemtudo.

  • Avanado/ExperimentalopesessasconfiguraesdeveserusadocomcautelapoisalgunsdelespodemcausarproblemascomStrokesPlusououtrosaplicativos.

    PrecisodepartidacomofinamenteStrokesPlusinterpolagestosparausarparacomparao.Opadro100,enodevehavernenhumanecessidadedemudaressaconfigurao.

    Probabilidadedecorresponderaprobabilidadedecorrespondnciadogestodesenhadoparagestossalvos.Superiorfazogestodecorrespondnciamaisestrito.

    AgressivamentegerenciarmemriadizStrokesPlusagressivamentelimparmemriaemmuitospontosdaoperaodoprograma.DeixemarcadoparagarantirquestrokesplususaamenorquantidadedememriaRAMduranteaexecuo.DesmarqueaoposevocquerdeixaroWindowsgerenciarosusosdeStrokesPlusdememriaObservequeoWindowsmuitoliberal,sarrumarseoutrosprocessosrequeremmemriausadaporoutrosprogramaseamemriaRAMdisponveltornouselimitada.

    Lanamento/reinicializaremSuspend/Resumeseverificado,StrokesPlusirremoveroconedabandeja,solteomouseetecladoedestruiroSynaptics(TouchPad)COMinterface*quandoWindowsinsereummododesuspenso(porexemplo,selecionandoosononomenudedesligamento).QuandooWindowsreinicia,StrokesPlusirrecriarseucone,religaroratoeotecladoerecriaroSynaptics(TouchPad)COMinterface*(ses+notiversidodesabilitada,claro).

    *Synaptics(TouchPad)COMinterfaceapenasdestruda/reinicializadaquandoaopo'Desativarintegrao'noverificada.

    DesabilitarmensagemdegestonovoimpedequeoStrokesPlusexibindoamensagemdepopupquandovoccliqueemnovoparacriarumnovogesto.

    Redefinircancelardemoraemmovimento/modificadorsedesmarcada,dizStrokesPlusparacancelargestosquandooatrasodecancelaratingido,independentementedaatividadedomouseouteclado.

    MantergestodesenharjanelanapartesuperiormantenhasempreajanelatransparenteparaqueStrokesPlusdesenhaalinhadegestoemcima.IssopodesertilparasistemasdebaixoconsumodeenergiaeevitaracintilaoelementosdeinterfacedousurioparausuriosdoWindowsXP.Noentanto,podehaverproblemascomoutrosprogramassereagemjaneladegestodosStrokesPlusestaracimadelas.Portanto,estaumacaractersticaexperimental.

    Noescondergestodesenharjanelaquandonoestdesenhandoumgesto,ajaneladedesenhonormalmenteenviadaportrsdetodasasoutrasjanelasparaaumentarodesempenhoeeliminarcintilaoemouselagquandoseiniciaumnovogesto.DesmarqueestaopoparainstruirStrokesPlusparaocultarajanelacompletamente.(EssaconfiguraonoterefeitoseMantenhagestodesenharjanelanapartesuperiorestmarcada.

    HabilitarMouserodaRelayStrokesPlusirretransmitirtodososeventosdemouserodarolagemdiretamenteparaocontroleabaixoocursordomouse,independentementedoestado.Issopermitequevocrolecontroles,listas,janelasquenosoativoouselecionadoapenasrolandoarodadomouseporcimadeles.

    ReconhecimentodefogonarolagemdarodadoMouseStrokesPlustentarreconheceredispararaesquandoarodadomouseroladaparacimaouparabaixo(apenasquandoobotodeataqueestsendomantidopressionada).Issopermitequevoctenhaaesquefogoparacadaescala,istotilparaaesdevolume,alternarabas,etc.

    PermitirMouserodacarrapatoScript*permitequeoscriptdecarrapatoderodadomousedescritoaqui.

    PermitirHorizontaldoMouserodacarrapatoScript*permitequeoscriptdecarrapatoderodadomousehorizontaldescritoaqui.

    Somentecapturarnadefinidoaplicativos(semaesglobais)aesglobaissoignoradas,ignoradoappsnosoprocessados,orato/TouchPadssocapturadosquandodesenhoemumajanelaquepartedeumaplicativodefinidonaguiaaes.Istobasicamentecolocas+emmododelistabranca.

    ModificadoresdecapturaremcursobotoDown*almdecapturarosmodificadoresquandoelesocorremdepoisdepremirobotodeataque,StrokesPlustambmterseuestadonomomentoqueocursobotopressionado.Entosevoctinhaachavedecontrolerealizadaprviaparapressionarobotodeataquepressionado(emantidapressionadanomomento),omodificadordecontroleseriareconhecidocomopartedadefiniodeao.

    PermitirdepoisdeActionScript*permitequeoscriptapsaaodescritaaqui.Parasolucionarproblemasdeerrodescriptparaalgumaspessoas,eusepareioprocessamentoparaafuncionalidadeapsaao.Entosevocnouslo,deixandoestadesmarcadoserligeiramentemaiseficiente.

    PermitirqueapslanamentoScript*permitequeoscriptapsliberaodescritaaqui.PermitedefinirumafunoemLuaGlobalquechamadosemprequeobotodeataqueliberado.

    PermitirmeiocliqueemScript*permitequeoscriptcliquemdiodescritoaqui.

    PermitirX1cliqueemScript*permitequeoX1Clickscriptdescritoaqui.

    PermitirX2cliqueemScript*permitequeoX2cliquescriptdescritoaqui.

    VerificarCursorbandeiras*determinases+irverificarossinalizadoresdecursoredecidirsedesejacapturaromouse,ouno.Sevoctemumprogramaqueestfazendocoisasfunkycomocursordomousees+nocapturargestos,tentedesmarcarestaopo.

    Gestoderetransmissonanocorrespondncia*repeteaseqnciadegestosenohouvessenenhumacorrespondnciaemappsouaesglobais.Aesusandoodifiersougestosdefogoderodadomouseexcluemsedesterecurso.

  • Tocarsomparasemcorrespondnciatocaumsomseogestonoexisteounocorrespondeaumaaodefinida

    Som(arquivo)arquivoWAVajogarquandonenhumacorrespondncia.Seestivervazio,osomdefinidoparaperguntadentrodoWindowsjogado.

    Figura5

    [voltaraotopo]Formaogestos:

    StrokesPlusvemcommuitosgestostreinados,noentanto,vocpodeinseriroMododetreinosevocdesejacriarseuprprioselecionandomododeformaodoconedebandejadoStrokesPlus.VoctambmpodetreinarStrokesPlussobregestosexistentes.Porexemplo,dizerqueamaneiraquevocdesenharaletra"R"nateladiferentedamaneiracomofao,StrokesPlusaprendeuamaneiradequedesenhar"R"eelenopodereconhecloquandovocdesenhar"R".Aoentrarnomododetreinamentoedesenho"R",vocverajanelanaFigura6.SeStrokesPlusreconheceogesto,acaixadetextoserpreviamentepreenchidacomonomedogestoacreditaquefoidesenhado.SeStrokesPlusestavaincorretoemreconhecerogestoquesedestina,digiteonomedogestocorretoaquiecliqueemsalvar.Istoadicionaroseudesenhoparaacoleodepadresdepontoassociadocomessenomedegesto.Ospadresdepontomaisqueumgestotemassociadoaele,omelhorStrokesPluspodemseremreconheclos.

    Claro,seseudesenhode"R"dramaticamentediferentedoqueoquechamode"R",queseriamelhorexcluirogestode"R"dajaneladeaeserecriarumusandoapenasseuspadresdepontoparaqueStrokesPlusvaiaprenderoseuestilode"R"muitomaisrpido.Vocencontrarqueamaioriadosgestosexigemapenasumpontopadro(capturadeformao),enquantooutros,como"R"e"B"voprecisardevriosconjuntosdetreinamentoparacadaletraumavezqueelessobastantesemelhantes,geometricamente.

    Figura6

  • [voltaraotopo]Criandoaes:

    AessoaalmadeStrokesPlus.AquiondevocdizexatamenteoquefazerquandovocconcluirumgestoStrokesPlus.

    Umaaoreconhecidasetodososcritriosforematendidos.Issoincluiogesto,ModificadoresdeMouse,e/ouModificadoresdechave.nicodestesitensdeveserselecionadoparaserreconhecidopeloStrokesPlus.Porexemplo,eutenhoumaaodefinidacomapenasomodificadordaEsquerdabotodomousenenhumgestooumodificadorchaveselecionadaEntotudooqueeufaopressioneobotodeacidentevascularcerebral(direita,paramim)epressioneobotoesquerdodomouseesolteobotocerto.IssotimoparatarefasmuitorepetitivasEuusoparaabrirlinksemumanovaabadonavegador.EutambmtenhoumaaodefinidacomapenasRolaratqueeuusoparaaumentarovolume.

    Emboraamaioriadosgestoenvolvemdesenharalgonatela,comomuitofciltermuitosgestosondeexistemapenastantosbotesdomouse.Observequemodificadoresnotmdesermantidosparaaduraodaseqncia,realizadaapenasumavezdepoisdepremirobotodeataque.Entosevocpressionouobotodeataqueecomeouadesenhar,vocpoderiabateratecladecontroleumavezantesdesoltarobotodeataqueeseriareconhecidocomoodesenho+chavedecontroleesevoctemumaaodefinidacomodesenhoeachavedecontrole,StrokesPlusdespediaseoscriptdeLuaparaaao.

    SevoctemModificadoresdecapturaremcursobotoDown*selecionadanaguiapreferncias,vocpodetambmqualificarquandomodificadoressoreconhecidosporumaaonomomentoqueocursotecla,depoisqueelepressionado,ouqualquertempodequalquerum.Issopermitequevoctenhaduasaescomasmesmasconfiguraesdegesto/modificador,massoreconhecidosdependendodequandoomodifier(s)foipressionado.Istogeralmentetilparaacriaodegestosdebalancim,ondevoctemumaaoqueexecutadoquandovocpressionarobotodireitodomouse,emseguidaesquerda(juntos)etemumoutrofogodeaoquandoobotoesquerdodomousepressionadoemantidoprimeiro,seguidodobotodireitodomouse.

    OmenususpensoAesdisponveisexibeumalistadetodasasaesexpostasaLua.Obotodeinformaoiraparecerumamensagemdescrevendoaao.ClicaremInserirircolarumtrechodaaonacaixadetextodeLuanolocaldocursor.

    AcaixadeverificaoGuardarautomaticamentedizStrokesPlus,sevocquisersalvarautomaticamenteasalteraesquandovocalternarparaumaplicativodiferenteouao,oufechaajaneladeaes.SeAutosalvarnoverificada,vocdeveclicaremaplicarantesdetrocaraesoufecharajanela,ouasalteraesseroperdidas.

    VariveiseaescobremavariveiseaesStrokesPlusexpeaLua.ParasintaxegeraldeLua,simplesmentepesquisanoGooglepor"RefernciadeprogramaodeLua".

    Figura7

    [voltaraotopo]Definindoaplicativos:

  • Aesglobaissoaquelasqueseracionadoindependentementedequalaplicativosobomouse(excluindoowindowsignorado,cobertosnaprximaseo).Noentanto,vocpodequerertertodoumconjuntodegestosquesoespecficosaoaplicativoapenasnicocomoumwebbrowser.Paraconseguirisso,cliquenobotoAdicionaraplicativo,digiteumnomeecliqueemOK.Vocvaiverummontedecamposdisponveisparasequalificareaplicaoeumacaixadejanelaencontrarcomumamiraquepodeserusadaparalocalizarumaplicativo,ouapenaspartedeumaplicativo.

    ApenasumcampoobrigatrioegeralmenteoNomedoarquivosuficienteeirgarantirquetodooprogramasemprecorrespondido.Depoisdeusaramiradejanelaencontrar,muitosdoscamposseropreenchidoscomvalores.Enquantovocpodedeixlostodoscomo,elepodecriarumescopomuitoestreitoquedefineoapppotencialmentesomenteumadeterminadareadaappousomenteseottulodoaplicativoaconteceserexatamenteoquefoicapturadodepoisdeusaraferramentajanelaencontrar.Comoeudisse,limpetodososcamposmasonomedoarquivoamenosquevoctemcertezasobreoimpactodecomoosqualificadoresvoafetaroseuresultadodesejado.

    Ospadrodevrioscampossousadosparacorrespondersecombaseemexpressesregulares(usosregexbibliotecaBOOST,FYI).Istopodesertilsevocdesejacorresponderumamplooutalvezmuitoespecficotipodecondioparadefinirumaplicativo.

    Quandoumgestocompleto,StrokesPlustentacombinaraplicativosprimeiro.Senenhumacorrespondnciaforencontrada,entoeleirverificarasaesglobaisparaumapartida,amenosquenoprocessaraesglobaisparaesteapp,apenasasaesappverificado

    Figura8

    [voltaraotopo]CriandoHotkeys:

    TeclasdeatalhopodeseratribudoaofogoscriptsLua.Estassocomoaes,excetooratonoestenvolvido.EssesscriptssoexecutadosexatamentecomoExistemsemvariveisextraspassadoscomogsx,gsy,etcenoacionamasfunessp_before_actionesp_after_action.

    Figura9

  • [voltaraotopo]IgnoradoWindows:

    WindowsignoradosoaquelesquefarcomqueStrokesPlusignorarobotodeataquequandoelepressionadoemumajanelaqueestnalistadeignorados.Paraadicionarumajanelalistadeignorados,cliquenobotoAdicionar,digiteumnomeecliqueemOK.Vocvaiverummontedecamposdisponveisparasequalificareaplicaoeumacaixadejanelaencontrarcomumamiraquepodeserusadaparalocalizarumaplicativo,ouapenaspartedeumaplicativo.

    ApenasumcampoobrigatrioegeralmenteoNomedoarquivosuficienteeirgarantirquetodooprogramasemprecorrespondido.Depoisdeusaramiradejanelaencontrar,muitosdoscamposseropreenchidoscomvalores.Enquantovocpodedeixlostodoscomo,elepodecriarumescopomuitoestreitoquedefineajanelaignoradapotencialmentesomenteumadeterminadareadaappousomenteseottulodoaplicativoaconteceserexatamenteoquefoicapturadodepoisdeusaraferramentajanelaencontrar.Comoeudisse,limpetodososcamposmasonomedoarquivoamenosquevoctemcertezasobreoimpactodecomoosqualificadoresvoafetaroseuresultadodesejado.

    Ospadrodevrioscampossousadosparacorrespondersecombaseemexpressesregulares(usosregexbibliotecaBOOST,FYI).Istopodesertilsevocdesejacorresponderumamplooutalvezmuitoespecficotipodecondioparadefinirumaplicativoqueserignorado.

    AcaixadeseleoDesativars+seesteaplicativoativadodizs+completamentesoltaromouseeotecladoseoaplicativoignoradotornaseajanelaativa(primeiroplano).Issotilsevocdesejadesabilitars+quandoabreumjogodetelacheia.Comoignorarajaneladojogoaindaenvolves+verificandoqueseajanelaignoradacadavezquepressionarobotodeataque,issopodecausarumatrasomuitobreveantess+encaminhaoeventodemouseparaojogo.Paraaplicativosdealtodesempenho,ters+desativadodefinitivamenteocaminhoapercorrer,especialmentequandosetratadejogos.Notequevocterquerehabilitarmanualmentes+umavezqueeledesativasedevidoaestaoposermarcadacomonohnenhumamaneiraconfivelparas+saberoquevocquerreativado.

    AcaixadeseleoEnableS+IfNonIgnoredApptornaseativoinstruis+parahabilitarsesealgumajanelasetornaativaquenoestnalistadeignoradosdejanela.Issoacontecermesmoquevocjdesativadamanualmentes+.Oobjetivoterignoradoosappsquedesativars+,masquandovocdeixlos,s+vaiserreativadoautomaticamente.Desdequeessecomportamentonemmanualmentesubstituis+configuraocomodesabilitada,noparatodos.

    Noseesqueadeclicaremaplicardepoisdefazeralteraesnestajanela,sevocnotemqueguardarautomaticamenteverificado.

    Figura10

  • [voltaraotopo]Relatriodeao:

    Esteguiamostraumalistadetodosdefinidoseaesativas.

    Figura11

  • [voltaraotopo]Luaglobal:

    EsteguiamostraocontedodoseuarquivodeStrokesPlus.lua.Vocpodeusaressearquivoparadefinirsuasprpriasfunesouvariveisquepodemserutilizadasportodasasaes.

    Figura12

  • [voltaraotopo]VariveisdisponveisparatodososscriptsLua:

    Asseguintesvariveissopreenchidasautomaticamenteaoconcluirumgesto.Elesmuitasvezessoutilizadospormuitasdasfunesdeao(abordadasnaseoseguinte)paraidentificarajanela(s)aseratingidopelaao.

    sp_gesture_name(tambmpodeserreferidacomognm):stringonomedogestodesenhado

    sp_gesture_start_x(tambmpodeserreferidacomogsx):inteiroTheXcoordenardeondecomeouogestosp_gesture_start_y(tambmpodeserreferidacomogsy):inteiroTheYcoordenardeondecomeouogesto

    sp_gesture_end_x(tambmpodeserreferidacomogex):inteiroTheXcoordenardeondeterminouogestosp_gesture_end_y(tambmpodeserreferidacomogey):inteiroTheYcoordenardeondeterminouogesto

    sp_wheel_delta(tambmpodeserreferidacomogwd):inteiroodeltaderolagemdarodadomouse[nmeropositivoounegativo],mousepadrorodasso120porcarrapatoderoda

    sp_app_name(tambmpodeserreferidacomogapp):stringonomedoaplicativoquefoicorrespondido,ou"Aesglobais"(ouoqueforespecificadoemLanguage.xml)sp_action_name(tambmpodeserreferidacomogact):stringonomedaaoquecoincidiu

    GBL:inteiroodelimitadoradeixoucoordenada(extremaesquerdaXdogestodesenhado)

    GBT:inteiroacoordenadasuperiordelimitador(Ymaisaltodogestodesenhado)

    GBR:inteiroacoordenadacertadelimitador(direitomaisXdogestodesenhado)

    GBB:inteiroadelimitadoracoordenadainferior(maisbaixodogestodesenhadodeY)

    Almdisso,alien.coreealien.structestodisponveisparascriptsdeLuaparafazerdirecionarchamadasDLL.Vocnoprecisaincluir:

    exigem"aliengena"

    ..noseuscriptdeLua(comomuitosscriptsdeexemplosobreoInternet),vocreceberumerro,amenosqueoaliengenaDLLsestoemalgumlugarnocaminho,masnotenhocertezasequeelesiriajogarbemjuntos...entoaseuprpriorisco.

    ExemploLuaScriptparachamaruser32.dlldiretamenteparaexibirumacaixademensagem(noviaoacMessageBox()limite,istoestdiretamentechamando):

  • alienlocal=alien.corelocalmb=alien.load("user32.dll")messageboxlocal=mb.MessageBoxAMessageBox:Types{ret='tempo',abi='stdcall','','ponteirolongo','string','long'}teste="teste"MessageBox(0,teste,"test2",0)

    ObservequefazendodiretoDLLchamadaspodemcausarS+oLuamotorbaterdurosevocestragaralgumacoisanoscriptoudefinindoosconcursos,entoesteumusoemsuaprpriacaractersticaderisco.EurecomendoinstalaroLuaparaWindowsetestarscriptslsevocesttendoproblemasouantesdeadicionarumaao(removendorefernciasexigem"alien").

    Almdisso,vocpodeincluirquaisquervariveisoufunesnoarquivoStrokesPlus.luanamesmapastacomoStrokesPlus.exe.QuandoStrokesPluscarrega(ouselecionarrecarregarConfignomenudebandeja),qualquerLuaemStrokesPlus.luaexecutadoepersistente.Porexemplo,sevocquisessecriarsuaprpriafunodeLuaquevocqueriasercapazdechamardequalquerao,vocpodearmazenloemStrokesPlus.lua.Outalvezvocdesejacriaralgumasvariveisglobaisquesocompartilhadasentreaes,elespoderiamserdeclarado/inicializadoltambm.

    ComeandocomStrokesPlusverso1.9.7,asseguintesmedidaspodemserdefinidasemStrokesPlus.lua(porvoc)sequiserquedeterminadocdigoLuadespedirseantesdetudoseusscriptsdeao.Porexemplo,algumaspessoaspodemdesejarterumachamadaparaacActivateWindowantesdetodososscriptsdeaes.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_before_action(gnm,gsx,gsy,gex,gey,gwd,gapp,gact) yourcodehereend

    Observequesp_before_actionchamadodepoisqueasvariveislocaissodefinidas(gnm,gsx,gsy,etc)paraqueseucdigopodetrabalharcomelesconformenecessrio.

    ComeandocomStrokesPlusverso1.9.8,asseguintesmedidaspodemserdefinidasemStrokesPlus.lua(porvoc)sequiserquedeterminadocdigoLuaaofogodepoisdetodososscriptsdeao.Noentanto,vocdevehabilitaraopopermitirdepoisdeActionScript*nasprefernciasdoprimeiro.Comoaopoindica,issopodecausarerrosdescriptparaalgunsusurios.Eusouincapazdereproduzir,assim,solucionarproblemas,acausadoerroporesserecursoaquiparaaquelesquenoencontramoserrosdescript.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_after_action(gnm,gsx,gsy,gex,gey,gwd,gapp,gact) yourcodehereend

    ComeandocomStrokesPlusverso2.4.7,asseguintesacespodemserdefinidasemStrokesPlus.lua(porvoc)sequiserquedeterminadocdigoLuasejaacionadoquandoaLuaestado1inicializado.Porexemplo,algumaspessoaspodemdesejarterumachamadaparaacToggleTrayIcon(1)[paraocultaroconedebandejados+)quandocomeaos+.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_init() yourcodehereend

    Observequesp_initchamadoapenaspeloestadodaLua1.Comotal,somenteocdigosemmonitoraodeestado/nopersistentedeveserusadoaqui.

    ComeandocomStrokesPlusverso2.6.2,asseguintesmedidaspodemserdefinidasemStrokesPlus.lua(porvoc)sequiserquedeterminadocdigoLuaaofogodepoisdesoltarobotodeataque(ondes+capturadoomouse).Noentanto,vocdevehabilitaraopopermitirapslanamentoScript*nasprefernciasdoprimeiro.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_after_release() yourcodehereend

    ComeandocomStrokesPlusverso2.7.3(emodelodefunoalteradano2.8.0),aseguinteaopodeserdefinidaemStrokesPlus.luasequiserquedeterminadocdigoLuasejaacionadoquandovocclicarnobotodomeiodomouse(quandoobotodomeionoobotodeacidentevascularcerebral).Noentanto,vocdevehabilitaraopopermitirmeiocliqueemScript*nasprefernciasdoprimeiro.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_middle_mouse_up(x,y,fwKeys) yourcodehere x=thexcoordinateofthemousewherethemiddlebuttonwasclicked y=theycoordinateofthemousewherethemiddlebuttonwasclicked fwKeys=thekeystateatthetimethemiddlebuttonwaspressedend

    Notesequechequesdejanelapadroignoradoocorrernolocaldomousequandopressionadoocliquedomeio.EssafuncionalidadetambmcumpreasregrasdasSomentecapturarnadefinidoaplicativos(semaesglobais),sehabilitado.

  • ComeandocomStrokesPlusverso2.7.9,aseguinteaopodeserdefinidaemStrokesPlus.luasequiserquedeterminadocdigoLuasejaacionadoquandovocrolararodadomouse.Noentanto,vocdevehabilitaraopopermitirMouserodacarrapatoScript*nasprefernciasdoprimeiro.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoomodeloabaixo:

    functionsp_wheel_tick(control,wParam,lParam,x,y,delta) yourcodehere control=thehandletothecontrolbelowthemouse wParam=theprecraftedwParamofthemousewheelevent,toeitherdeconstructforuseorrelaytothecontrol lParam=sameasabove,butforthelParam x=thexcoordinateofthemousewherethewheelwasscrolled y=theycoordinateofthemousewherethewheelwasscrolled delta=thedeltaofthemousewheelscroll,usuallyitis120forasinglewheeltickscrollingupand120scrollingdownforonetickend

    Notesequechequesdejanelapadroignoradoocorrernolocaldomousequandoarodadomouserolada.EssafuncionalidadetambmcumpreasregrasdasSomentecapturarnadefinidoaplicativos(semaesglobais),sehabilitado.

    ComeandocomStrokesPlusverso2.8.0,asseguintesaespodemserdefinidasemStrokesPlus.luasequiserquedeterminadocdigoLuasejaacionadoquandovocrolarouinclinaarodadomousehorizontaloubotesdomousedeimprensaX1ouX2(esquerdaedireitodomouseclicaradicionadoem2.8.2).Noentanto,vocdevehabilitarapermitirHorizontaldoMouserodacarrapatoScript*,permitirX1cliqueemScript*oupermitirX2cliqueemScript*,respectivamente,oponasprefernciasdoprimeiro.

    Parautilizarestafuncionalidade,vocdevedefinirafunoquevocdesejas+aofogousandoosmodelosabaixo:RodadoMousehorizontal:

    functionsp_h_wheel_tick(control,wParam,lParam,x,y,delta) yourcodehere control=thehandletothecontrolbelowthemouse wParam=theprecraftedwParamofthemousewheelevent,toeitherdeconstructforuseorrelaytothecontrol lParam=sameasabove,butforthelParam x=thexcoordinateofthemousewherethewheelwasscrolled y=theycoordinateofthemousewherethewheelwasscrolled delta=thedeltaofthemousewheelscroll,usuallyitis120forasinglewheeltickscrollingupand120scrollingdownforonetickend

    X1clique:functionsp_x1_mouse_up(x,y,fwKeys) x=thexcoordinateofthemousewheretheX1buttonwasclicked y=theycoordinateofthemousewheretheX1buttonwasclicked fwKeys=thekeystateatthetimetheX1buttonwaspressedend

    2Xclique:functionsp_x2_mouse_up(x,y,fwKeys) x=thexcoordinateofthemousewheretheX2buttonwasclicked y=theycoordinateofthemousewheretheX2buttonwasclicked fwKeys=thekeystateatthetimetheX2buttonwaspressedend

    Cliqueesquerdo:functionsp_left_mouse_up(x,y,fwKeys) x=thexcoordinateofthemousewheretheleftbuttonwasclicked y=theycoordinateofthemousewheretheleftbuttonwasclicked fwKeys=thekeystateatthetimetheleftbuttonwaspressedend

    Cliquedireito:functionsp_right_mouse_up(x,y,fwKeys) x=thexcoordinateofthemousewheretherightbuttonwasclicked y=theycoordinateofthemousewheretherightbuttonwasclicked fwKeys=thekeystateatthetimetherightbuttonwaspressedend

    Notesequechequesdejanelapadroignoradoocorrernolocaldomousequandoarodadomousehorizontalroladaouesquerda/direita/X1/1Xpressionado.EssafuncionalidadetambmcumpreasregrasdasSomentecapturarnadefinidoaplicativos(semaesglobais),sehabilitado.

    [voltaraotopo]Funesdeao:

    Localizeaaesdejanela:

    acFindWindowacFindWindowByTitleRegexacGetAllWindowsacGetOwnerWindowByPointacGetParentWindowByPointacGetWindowByPointacGetForegroundWindowacGetDesktopWindow

    Aesdeestadodejanela:

  • acActivateWindowacPauseResumeThreadListacSetProcessPriorityacTerminateProcessacCloseApplication

    Aesdecolocaodejanela:

    acMoveWindowacMinimizeWindowacRestoreWindowacMaximizeWindowacMaximizeOrRestoreWindowacTileWindows

    Aesdetamanhodejanela:

    acGetWindowLeftacGetWindowTopacGetWindowRightacGetWindowBottomacSetWindowSize

    Aesdeordemdejanela:

    acSetTopmostacClearTopmostacToggleTopmostacSendWindowToBottomacPreviousApplicationacNextApplication

    Aceschavecoretransparnciadejanelas:

    acGetWindowTransparencyacGetWindowColorKeyRacGetWindowColorKeyGacGetWindowColorKeyBacSetWindowColorKeyacSetWindowTransparencyAndColorKeyacSetWindowTransparency

    Janeladiversasaes:

    acGetWindowTitleacGetClassNameacGetControlIDacGetExecutableName

    MltiplasaesdoMonitor:

    acCenterWindowToScreenacClipWindowToScreenacFitWindowToScreenacMaximizeToAllScreensacGetMonitorBrightnessacSetMonitorBrightnessacGetMonitorFromPointacGetMonitorNameacSendWindowToPreviousMonitoracSendWindowToMonitorByNameacSendWindowToMonitorByHandleacSendWindowToNextMonitoracGetMonitorFromNameacGetMonitorBottomacGetMonitorTopacGetMonitorLeftacGetMonitorRight

    Aesdeteclado:

    acSendKeysacSendKeyDownacSendKeyUpacSendWinDownacSendWinUpacSendControlDown

  • acSendControlUpacSendAltDownacSendAltUpacSendShiftDownacSendShiftUp

    Aesdomouse:

    acGetMouseLocationXacGetMouseLocationYacMouseMoveacMouseClickacGetMouseCursorTypeacAutoHideMouseCursoracHideMouseCursoracShowMouseCursor

    Aesdetransferncia:

    acGetClipboardTextacSetClipboardText

    Aesdeudio:

    acSetVolumeacGetVolumeacToggleMuteacGetMuteacSetMuteacPlaySound

    Utilitriodeaes:

    acConsumePhysicalInputacDelayacGetSystemMetricsacGetPixelRByPointacGetPixelGByPointacGetPixelBByPointacSetDisplayGammaacMessageBoxacDisplayBalloonTipacDisplayTextacKillDisplayTextacGetProcessIDFromPatternacGetWindowFromProcessIDacIsImmersiveProcessacGetFileVersionacGetFileProductVersionacInputBoxacRunProgramacShellExecuteacLockWindowsacGetNumberacSetNumber

    AesderegistrodoWindows:

    acRegistryCreateKeyacRegistryDeleteKeyacRegistryDeleteValueacRegistryGetStringacRegistrySetStringacRegistryGetNumberacRegistrySetNumber

    AesdemensagensdoWindows:

    acSendMessageacPostMessage

    AesdecontroledeStrokesPlus:

    acShowSettingsacShowActionsacShowHotkeysacShowIgnoreList

  • acShowPrefsacShowAboutacDisableacDisableNextacDisableCaptureacEnableCaptureacDisableHotkeyacEnableHotkeyacReloadConfigacRelayGestureacToggleTrayIconacExit

    acActivateWindow(hwndTarget,x,y,mtodo)Parmetros:hwndTarget:Oidentificadorparaajanelaparaserativado"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaparaserativadoy:oY(topo)coordenardajanelaparaserativadomtodo:Otipodemtodousadoparaativarajanela0,porpadro,1paraosegmentodeentrada,2parakeypressALTtemporria.Use0(padro),apenasusarosoutrosse0noestfuncionandoparavoc.Retorna:inteiro(sempre1)Comentrios:Ativaajanelanascoordenadasespecificadas

    acAutoHideMouseCursor(hidetimer,rehidetimer)Parmetros:hidetimer:comotempo(emmilissegundos)aaguardarsemmovimentodomouseantesescondendoocursordomouse.Passandode0(zero)desativaautoocultar.rehidetimer:quantasvezes(emmilissegundos)pararehideocursordomouseseeledeveseroculto(nocasodeaplicaesoutrareexibeocursor)Retorna:inteiro(sempre1)Comentrios:Autoescondetodososcursoresdemousepadrobaseiamostemporizadoresespecificados.

    acCenterWindowToScreen(hwndTarget,x,y,useworkarea)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimauseworkarea:(0paraFalse,1paraverdadeiro)sedeveusarareadetrabalhodatelaouno(readetrabalhoexcluioespaousadopelabarradetarefas)Retorna:inteiro(sempre1)Comentrios:Centrosdajanelanatela

    acClipWindowToScreen(hwndTarget,x,y,useworkarea)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimauseworkarea:(0paraFalse,1paraverdadeiro)sedeveusarareadetrabalhodatelaouno(readetrabalhoexcluioespaousadopelabarradetarefas)Retorna:inteiro(sempre1)Comentrios:Reposicionaajanelanatela,fazomelhorparagarantirqueajanelanoestforadoslimitesdatela,masnoredimensionarajanela

    acClearTopmost(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:LimpaoSinalizardenvelsuperiordajanela

    acCloseApplication(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaaserfechado"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserfechadoy:oY(topo)coordenardajanelaaserfechadoRetorna:inteiro(sempre1)Comentrios:Fechaajanelaemcoordenadasespecificadas

    acConsumePhysicalInput(value)Parmetros:valor:(0paraFalse,1paraverdadeiro)ses+deveconsumirtodososfsicos(mouseeteclado)deentrada.Retorna:inteiro(sempre1)

  • Comentrios:Issopodesertilsevocestprestesaligarumratoouentradadeaodotecladoondevocnoquerqualquerfsicoparainterferircomaaco.Mascertifiquesequevocchamarnovamente,passando0,dentrodomesmoscriptLuaparapermitiraentradaouoseucomputadorpodesetornarinutilizvel!

    acDelay(duration)Parmetros:Durao:(ms)nmerodemilissegundosparapausarRetorna:inteiro(sempre1)Comentrios:OscriptLuafazumapausaparaaduraoespecificada(Sleep(n))

    acDisable()Retorna:inteiro(sempre1)Comentrios:DesabilitaaStrokesPlus.

    acDisableCapture()Retorna:inteiro(sempre1)Comentrios:ImpedequeoStrokesPluscapturaomouseatquechamaseacEnableCapture(),ouosEstadosdeLuasoreinicializados.

    acDisableHotkey(hkid)Parmetros:hkid:idinternodatecladeatalhoIstoarmazenadonohkidedisponvelapenasparascriptdasteclasdeatalho.Retorna:inteiro(sempre1)Comentrios:Cancelaoregistroachavequente.Destinadoaousosomentedentrodoscriptparaatecladeatalho.hkidautomaticamentedefinidoepassadosparaoscriptdatecladeatalho.

    acDisableNext()Retorna:inteiro(sempre1)Comentrios:Desabilitaogestoprximodacaptura

    acDisplayBalloonTip(ttulo,mensagem,cone)Parmetros:Ttulo:Ottuloparaexibirmensagem:Amensagemparaexibircone:Oconeparaexibirnobalo:0=nenhum,1=informao,2=aviso,3=erroRetorna:inteiro(sempre1)Comentrios:Exibeumadicadebalopertodoconedabandejados+.ObservequeoWindowslimitaafrequncianaqualbalodicaspodemserexibidaseotempoemgeral,entosevoctentarchamarissodenovo,algunssegundosdepoisapontafoidemitida,novaiacontecernada.PareceserdiferentenoWinXPvsWin7.

    acDisplayText()Parmetros:mensagem:OtextoaserexibidoFonte:OnomedafonteparausarTamanho:Otamanhodotextovermelho:Apartevermelhadacordacordotexto(RGB)verde:Aparteverdedacordacordotexto(RGB)azul:Aparteazuldacordacordotexto(RGB)Durao:quantotempoparaexibirotexto,emmilissegundosx:acoordenadadeX(esquerda)paracolocarotextoy:acoordenadaY(top)paracolocarotextoRetorna:inteiro(sempre1)Comentrios:Exibeotextoespecificadonatela.

    acEnableCapture()Retorna:inteiro(sempre1)Comentrios:InstruiStrokesPluspararetomaracapturaomouse,depoischamaseacDisableCapture().

    acEnableHotkey(hkid)Parmetros:hkid:idinternodatecladeatalhoIstoarmazenadonohkidedisponvelapenasparascriptdasteclasdeatalho.Retorna:inteiro(sempre1)Comentrios:Registranovamenteatecladeatalho.Destinadoaousosomentedentrodoscriptparaatecladeatalho.hkidautomaticamentedefinidoepassadosparaoscriptdatecladeatalho.

    acExit()Retorna:inteiro(sempre1)Comentrios:SadasStrokesPlus

  • acFindWindow(classname,ttulo)Parmetros:ClassName:OnomedaclassedajanelaaserlocalizadoTtulo:OttulodajanelaparaserlocalizadoRetorna:inteiroidentificadorparaajanela,se0noencontradoComentrios:Encontraumajaneladeclasseettulo,acorrespondnciaexata.Passeo[b]nil[/b]nolugardequalquerparmetroparaexclulodabusca.Porexemplo,acFindWindow("Winampv1.x",nil)irencontraraclasseWinampeignoraraqualificaodettulo.

    acFindWindowByTitleRegex(titlepattern)Parmetros:titlepattern:AexpressoregularparausaraoprocurarporumttulodejanelaRetorna:inteiroidentificadorparaajanela,se0noencontradoComentrios:Localizaaprimeirajanelacombinandoottuloparaaexpressoregularpassadaem

    acFitWindowToScreen(hwndTarget,x,y,useworkarea)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimauseworkarea:(0paraFalse,1paraverdadeiro)sedeveusarareadetrabalhodatelaouno(readetrabalhoexcluioespaousadopelabarradetarefas)Retorna:inteiro(sempre1)Comentrios:Seencaixaajanelaparaatelaqueprincipalmenteocupando,paraocupartodaatela.

    acGetAllWindows(toplevel)Parmetros:topo:0pararetornartodasasjanelamanipula(muito),1pararetornarsomentedenvelsuperiorwindows(recomendados)Retorna:inteiro(sempre1)Comentrios:Preencheatabelaglobalsp_all_windowscomosidentificadoresdejanelasolicitada.Vocnoprecisadefiniratabeladesp_all_windows.

    acGetClassName(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaoucontrole"nil"usaroxeyparalocalizarajanelaoucontrolex:acoordenadadeX(esquerda)dajanelaoucontroleaserlocalizadoy:oY(topo)coordenardajanelaoucontroleaserlocalizadoRetorna:stringComentrios:Obtmonomedeclassedajanelaespecificadaoucontrole.Observeque,aocontrriodeoutrasaesondeXeYretornamajaneladeSELECTOWINGTEAM,estecontroleretornaajanelanopontoespecificado,porisso,seopontodemaisdeumboto,onomedobotoclasseserretornado.Sevocgostariadeandaratahierarquiaderecipiente,vocpodechamaracGetOwnerWindowByPoint()ouacGetParentWindowByPoint().

    acGetClipboardText()Retorna:stringComentrios:Retornaotextoatualdareadetransferncia

    acGetControlID(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaoucontrole"nil"usaroxeyparalocalizarajanelaoucontrolex:acoordenadadeX(esquerda)dajanelaoucontroleaserlocalizadoy:oY(topo)coordenardajanelaoucontroleaserlocalizadoRetorna:stringComentrios:ObtmoIDdocontroleparaoidentificadordocontroleespecificado.

    acGetDesktopWindow()Retorna:inteiroComentrios:RetornaoidentificadordajaneladoDesktop,estajanelaquerepresentaareadetrabalhodoWindows

    acGetExecutableName(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserlocalizadoy:oY(topo)coordenardajanelaaserlocalizadoRetorna:stringComentrios:ObtmonomedoEXEquedetmajanela

    acGetFileVersion(arquivo,hwndTarget,x,y)Parmetros:

  • arquivo:Ocaminhocompletoparaoarquivo""usarohwndTargetoux,yderelatriocombaseemumhwndTargetdejanela:Oidentificadorparaajanela"Nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserlocalizadoy:oY(topo)coordenardajanelaaserlocalizadoRetorna:stringComentrios:Obtmaversodoarquivodoarquivoespecificadonoparmetrodearquivo,ouquepossuiajanelaquandooarquivoestvazio

    acGetFileProductVersion(arquivo,hwndTarget,x,y)Parmetros:arquivo:Ocaminhocompletoparaoarquivo""usarohwndTargetoux,yderelatriocombaseemumhwndTargetdejanela:Oidentificadorparaajanela"Nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserlocalizadoy:oY(topo)coordenardajanelaaserlocalizadoRetorna:stringComentrios:Obtmaversodoprodutodoarquivodoarquivoespecificadonoparmetrodearquivo,ouquepossuiajanelaquandooarquivoestvazio

    acGetForegroundWindow()Retorna:inteiroComentrios:Retornaoidentificadordajaneladeprimeiroplano(partesuperior),aquelequeestativonomomento

    acGetMonitorBrightness(monitorhandle,x,y,modo)Parmetros:monitorhandle:Oidentificadorparaomonitorx:acoordenadaxdopontousadoparalocalizaromonitory:acoordenadaydopontousadoparalocalizaromonitormodo:1=valoratual,2=valormnimosuportado,3=valormximosuportadoRetorna:inteiro(1parasucesso,1parafalha)Comentrios:Retornaovalordebrilhoespecificado(baseadonoparmetromode)doprimeiromonitorfsicoassociadocomoidentificadordemonitor(nosuportadoantesVistanememalgunsmonitores,consultealterarologparadetalhes)

    acGetMonitorBottom(monitorhandle,useworkarea)Parmetros:monitorhandle:Oidentificadorparaomonitoruseworkarea:seconsiderarapenasareadetrabalho,nocompletomonitor(excluiabarradetarefas,janelasancoradas)Retorna:inteiroComentrios:ObtmacoordenadadeCY(inferior)domonitorespecificado

    acGetMonitorFromName(monitorname)Parmetros:monitorname:Onomedomonitor(valordeveestarnoformulriodeescape,"\\"para"\",porexemplo,"\\.\DISPLAY1"seriaescritonoscriptLuacomo"\\\.\\DISPLAY1")Retorna:inteirocabodemonitorComentrios:Obtmidentificadorparaomonitorespecificado

    acGetMonitorFromPoint(x,y)Parmetros:x:acoordenadaxdopontousadoparalocalizaromonitory:vejaacimaRetorna:inteiroComentrios:Retornaoidentificadorparaomonitorondeox,yestlocalizado

    acGetMonitorLeft(monitorhandle,useworkarea)Parmetros:monitorhandle:Oidentificadorparaomonitoruseworkarea:seconsiderarapenasareadetrabalho,nocompletomonitor(excluiabarradetarefas,janelasancoradas)Retorna:inteiroComentrios:ObtmacoordenadadeX(esquerda)domonitorespecificado

    acGetMonitorName(monitorhandle)Parmetros:monitorhandle:identificadorparaomonitorRetorna:stringComentrios:Retornaonomedomonitor

    acGetMonitorRight(monitorhandle,useworkarea)Parmetros:monitorhandle:Oidentificadorparaomonitoruseworkarea:seconsiderarapenasareadetrabalho,nocompletomonitor(excluiabarradetarefas,janelasancoradas)Retorna:inteiro

  • Comentrios:ObtmoCX(direita)coordenadadomonitorespecificado

    acGetMonitorTop(monitorhandle,useworkarea)Parmetros:monitorhandle:Oidentificadorparaomonitoruseworkarea:seconsiderarapenasareadetrabalho,nocompletomonitor(excluiabarradetarefas,janelasancoradas)Retorna:inteiroComentrios:ObtmacoordenadaY(topo)domonitorespecificado

    acGetMouseCursorType()Retorna:stringComentrios:Retornaonomedocursordomousedomouseatual:SETA,IBEAM,espera,CROSS,at,SIZENWSESIZENESW,SIZEWE,SIZENS,SIZEALL,no,mo,APPSTARTING,ajudaoudesconhecido

    acGetMouseLocationX()Retorna:inteiroComentrios:RetornaacoordenadadeX(esquerda)dalocalizaoatualdomouse

    acGetMouseLocationY()Retorna:inteiroComentrios:RetornaoY(topo)coordenardaposioatualdomouse

    acGetMute()Retorna:inteiro1parasilenciado,0paranomudoComentrios:Retornaoestadodosmudosnocanalmestre

    acGetNumber()Retorna:inteiroovalorarmazenadonos+definidopelachamadaacSetNumberComentrios:RetornaovaloranteriormentearmazenadoporacSetNumber

    acGetOwnerWindowByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiroComentrios:Retornaoidentificadordajaneladoproprietrio(ancestral),qualpertenceajaneladedestino

    acGetParentWindowByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiroComentrios:Retornaoidentificadordajanelapai,aoqualpertenceajaneladedestino

    acGetPixelBByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dopontodey:acoordenadaY(topo)dopontodeRetorna:inteiro0255Comentrios:Obtmaparte(B)azuldacornopontoespecificado

    acGetPixelGByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dopontodey:acoordenadaY(topo)dopontodeRetorna:inteiro0255Comentrios:Obtmaparteverde(G)dacornopontoespecificado

    acGetPixelRByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dopontodey:acoordenadaY(topo)dopontodeRetorna:inteiro0255Comentrios:Obtmapartevermelha(R)dacornopontoespecificado

    acGetProcessIDFromPattern(filepattern)Parmetros:filepattern:Onomeouopadrodeexpressoregularparaprocurar.Retorna:inteiroIDdoprocesso,seumacorrespondnciaforencontrada,0seno

  • Comentrios:Determinasehumprocessoemexecuoquecorrespondeaopadrodearquivo.Arquivopadropodeseronomeexatodoexecutvel,ouprocuraumaexpressoregularparaocuringa.

    acGetSystemMetrics(value)Parmetros:valor:OID(nmero)(baseadoemWin32especificaes)pararecuperarRetorna:inteiroovalorretornadopeloWindowsComentrios:IssochamadiretamenteGetsystemMetrics,quepodesertilemdescobrirvriasmtricasdaconfiguraodoWindows.Veja:http://msdn.microsoft.com/enus/library/windows/desktop/ms724385.aspx

    acGetVolume()Retorna:inteiroatualnveldevolume,0100Comentrios:Retornaoatualvolumedocanalmestre

    acGetWindowBottom(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiroComentrios:ObtmoCY(inferior)dajanelaespecificada

    acGetWindowByPoint(x,y)Parmetros:x:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiroComentrios:Retornaoidentificadordajanelaemcoordenadasespecificadas

    acGetWindowColorKeyB(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro0255Comentrios:Obtmaparte(B)azuldacorqueachavedecoresdajanela

    acGetWindowColorKeyG(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro0255Comentrios:Obtmaparteverde(G)dacorqueachavedecoresdajanela

    acGetWindowColorKeyR(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro0255Comentrios:Obtmapartevermelha(R)dacorqueachavedecoresdajanela

    acGetWindowFromProcessID(processID)Parmetros:processID:OIDdeprocessoparausaraoprocurarporumajaneladenvelsuperior.Retorna:inteiroidentificadorparaaprimeirajaneladenvelsuperiordoprocesso,ouzerosenenhumacorrespondnciafoiencontrada.Comentrios:ProcuraporumajaneladenvelsuperiorquepertenceaIDdeprocessopassados.Seumacorrespondnciaforencontrada,oidentificadorretornado,casocontrrio,nuloserretornado.

    acGetWindowLeft(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiroComentrios:ObtmacoordenadadeX(esquerda)dajanelaespecificada

  • acGetWindowRight(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiroComentrios:ObtmoCX(direita)dajanelaespecificada

    acGetWindowTitle(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:stringttulodajanelaComentrios:Retornaottulodajanelaespecificada

    acGetWindowTop(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiroComentrios:ObtmacoordenadaY(topo)dajanelaespecificada

    acGetWindowTransparency(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro0255Comentrios:Obtmonveldetransparnciadeumajanela,sendoinvisvel,sendoslidode2550

    acHideMouseCursor()Retorna:inteiro(sempre1)Comentrios:Ocultatodososcursoresdemousepadro.

    acInputBox(ttulo,mensagem,padro,delim)Parmetros:Ttulo:Otextoaserexibidonabarradettulodajaneladacaixadeentradamensagem:Otextoaserexibidonoformulriodejaneladecaixadeentradapadro:Ovalorpadroparapreencheracaixadetextocomdelim:seespecificado,oparmetropadroestdivididosobreessevalordedelimitadoregeradaumalistasuspensaRetorna:stringComentrios:Exibeumwindowsqueaceitaentradadousurio.

    acIsImmersiveProcess(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserlocalizadoy:oY(topo)coordenardajanelaaserlocalizadoRetorna:inteiro0seajanelanoenvolvente,1seforComentrios:Determinaseoprocessopossuirjanelaenvolvente(programaWindows8Metro/AppStore)

    acKillDisplayText()Retorna:inteiro(sempre1)Comentrios:ForafechaajaneladeacDisplayTextantesdeduraotempolimitefoiatingido.

    acLockWindows()Retorna:inteiro(sempre1)Observaes:LocksWindows,equivalenteapressionarWIN+L

    acMaximizeWindow(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaasermaximizada"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaasermaximizaday:oY(topo)coordenardajanelaasermaximizadaRetorna:inteiro(sempre1)Comentrios:Maximizaajanelanascoordenadasespecificadas

  • acMaximizeOrRestoreWindow(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaparaserrestauradooumaximizado"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaaserrestauradaoumaximizaday:oY(topo)coordenardajanelaparaserrestauradooumaximizadoRetorna:inteiro(sempre1)Comentrios:Restauraoumaximizaajanela,dependendodoseuestado,nascoordenadasespecificadas

    acMaximizeToAllScreens(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiro(sempre1)Comentrios:Estendeseajanelaparaocupartodaareadetrabalho,atravsdetodasastelas.Geralmente,issonomuitoprtico,masestlporquevaleapena.

    acMessageBox(mensagem,ttulo,estilo)Parmetros:mensagem:AmensagemprincipalaserexibidoTtulo:ttulodajaneladecaixademensagemestilo:Ointeiro(combaseemespecificaesdeWin32)querepresentaoestilodacaixademensagem,queincluiocone,botesebotopadro.zeroparanenhumestilo(botoOkapenas)Retorna:inteiroovalorretornadopelacaixademensagem,sefoiespecificadoumestilo,qualbotofoiclicadoserretornado(comoumsim/semcaixa,ovalorderetornoindicaqueobotoquefoiclicado)Comentrios:ExibeumacaixademensagemdoWindowspadro.Podepassarnoestiloparapersonalizaroconeeosbotes.

    acMinimizeWindow(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanelaparaserminimizado"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaparaserminimizadoy:oY(topo)coordenardajanelaparaserminimizadoRetorna:inteiro(sempre1)Comentrios:Minimizaajanelanascoordenadasespecificadas

    acMouseClick(x,y,boto,baixo,cima)Parmetros:x:acoordenadadeX(esquerda)deondeocliquedeveocorrery:acoordenadaY(top)deondeocliquedeveocorrerboto:botodomouse,quedeveserenviado0:botosecundrio(direitoporpadro,amenosqueosbotesdomousesotrocados)1:botomdio2:botoprincipal(esquerdaporpadro,amenosqueosbotesdomousesotrocados)3:1botox4:2botoxembaixo:(0paraFalse,1paraverdadeiro)seamensagemMOUSE_BUTTON_DOWNdeveserenviadaacima:(0paraFalse,1paraverdadeiro)seamensagemMOUSE_BUTTON_UPdeveserenviadaRetorna:inteiro(sempre1)Comentrios:Enviarummouseparabaixoe/oueventoemcoordenadasespecificadas

    acMouseMove(x,y)Parmetros:x:acoordenadadeX(esquerda)paramoverocursordomouseparay:oY(topo)coordenarparamoverocursordomouseparaRetorna:inteiro(sempre1)Comentrios:Moveocursordomouseparaascoordenadasespecificadas

    acMoveWindow(hwndTarget,x,y,esquerda,superior)Parmetros:hwndTarget:Oidentificadorparaajanelaparasermovido"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaasermovidoy:oY(topo)coordenardajanelaasermovidoesquerda:AnovaX(esquerda)coordenadalocaldajanelapartesuperior:AnovacoordenadaY(topo)dalocalizaodajanelaRetorna:inteiro(sempre1)Comentrios:Moveajanelausandocoordenadasespecificadas

    acNextApplication()Retorna:inteiro(sempre1)Comentrios:Alternaparaaprximaaplicaonalistadejanela,comosegurarALTepressionartab(percorreosprogramasabertos)

  • acPauseResumeThreadList(hwndTarget,x,y,currculo)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelacurrculo:(0paraFalse,1paraverdadeiro)1pararetomartpicos,0parasuspenderRetorna:inteiro(sempre1)Comentrios:Suspendeoureiniciatodosossegmentosdeumajanela.Istomuitoperigosoenorecomendado,pormimouMicrosoft,naverdade.

    acPlaySound(filename)Parmetros:nomedoarquivo:Ocaminhocompleto(lembrandosobreescaparLuacadeiasdecaracteres)paraoarquivoWAVRetorna:inteiro(sempre1)Comentrios:Tocaumsom.

    acPostMessage(hwndTarget,MessageID,wParam,lParam)Parmetros:hwndTarget:OpunhododestinodajaneladeondeamensagemestaserenviadoMessageID:IDde(inteiro)amensagemaserenviada.wParam:wParam(inteiro)paraserenviadolParam:OlParam(inteiro)paraserenviadoRetorna:inteiro(sempre1)Comentrios:Estaumaformamuitosimples,nopermitindoaestruturasdedadoscomplexasemwParamelParam.Eupretendoexperimentaresuporteaqualquertipodeparmetronofuturo.

    acPreviousApplication()Retorna:inteiro(sempre1)Comentrios:Alternaparaajanelaanterior,comopressionarALT+TAB

    acRegistryCreateKey(rootkey,path)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhodachaveasercriado(\devemserantecedidascomo\\)Retorna:inteiro,0=falhou,1=sucessoComentrios:Criaumanovachavenocaminhoespecificado.

    acRegistryDeleteKey(rootkey,path)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhodachaveasereliminado(\devemserantecedidascomo\\)Retorna:inteiro,0=falhou,1=sucessoComentrios:Excluiachavenocaminhoespecificado.(noexcluirseexistiremsubchavessubchavesdevemsereliminadasprimeiro)

    acRegistryDeleteValue(rootkey,caminho,nome)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhodachaveasereliminado(\devemserantecedidascomo\\)Nome:(string)onomedovaloraserexcludoRetorna:inteiro,0=falhou,1=sucessoComentrios:Excluiovalornachave/caminhoespecificado.

    acRegistryGetNumber(rootkey,caminho,nome,padro)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE

  • 3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhoparaachavedesejada(\devemserantecedidascomo\\)Nome:(string)onomedovalorpadro:(inteiro)onmeropararetornarseachavenofoiencontradaRetorna:(inteiro)valoroupadrosenoforencontradoComentrios:Recebeumvalordenmerodechave/caminhoespecificado.

    acRegistryGetString(rootkey,caminho,nome,padro)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhoparaachavedesejada(\devemserantecedidascomo\\)Nome:(string)onomedovalorpadro:(string)astringpararetornarseachavenofoiencontradaRetorna:(string)valoroupadrosenoforencontradoComentrios:Recebeumvalordeseqnciadecaracteresdecaminho/chaveespecificado.ChavesdotipoREG_EXPAND_SZtersuasvariveisdeambienteexpandidoscomodisponvel.

    acRegistrySetNumber(rootkey,caminho,nome,valor)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhoparaachavedesejada(\devemserantecedidascomo\\)Nome:(string)onomedovalorvalor:(inteiro)ovaloraserarmazenadoRetorna:inteiro,0=falhou,1=sucessoComentrios:Defineumvalornumriconocaminho/chaveespecificado.

    acRegistrySetString(rootkey,caminho,nome,valor,tipo)Parmetros:ROOTKEY:(inteiro)achaveraizdoregistro:1=HKEY_CLASSES_ROOT2=HKEY_LOCAL_MACHINE3=HKEY_CURRENT_USER4=HKEY_USERScaminho:(string)ocaminhoparaachavedesejada(\devemserantecedidascomo\\)Nome:(string)onomedovalorvalor:Ovaloraserarmazenado(cadeiadecaracteres)tipo:(inteiro)otipodechavedoregistro:1=REG_SZ(padro)2=REG_EXPAND_SZRetorna:inteiro,0=falhou,1=sucessoComentrios:Defineumvalordeseqnciadecaracteresnocaminho/chaveespecificado.

    acRelayGesture()Retorna:inteiro(sempre1)Comentrios:Repetealtimaseqnciadegestoparaqueoutroaplicativopodemanipularogestomodificadoresnosoretransmitidas.

    acReloadConfig()Retorna:inteiro(sempre1)Comentrios:InstruiStrokesPluspararecarregarosdadosdoarquivodeconfigurao(StrokesPlus.xml)

    acRestoreWindow(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:Restauraajanelaespecificada

    acRunProgram(fullpath,parmetros,segundos,estilo)Parmetros:FullPath:caminhocompletoparaEXErequerescapebarrasinvertidas(C:\windows\notepad.exeprecisaserescritocomoC:\\windows\\notepad.exe).

  • parmetros:osparmetrosdelinhadecomandoparapassarparaoprogramasegundos:ossegundosdeesperaparaoprogramasair(paraobterumcdigodesada)seaduraopassoueoprogramaaindaestfuncionando,0retornado.estilo:Oestilodajaneladoprograma,usandoumdovalornCmdShowdescritoaqui:http://msdn.microsoft.com/enus/library/windows/desktop/ms633548.aspxRetornos:cdigointeiro0ouretornodoprograma(seelesaiantesdeatingiraduraodesegundos)Comentrios:Executaumprograma

    acSendAltDown()Retorna:inteiro(sempre1)Comentrios:EnviaateclaAltparaevento

    acSendAltUp()Retorna:inteiro(sempre1)Comentrios:EnviaoAltchaveevento

    acSendControlDown()Retorna:inteiro(sempre1)Comentrios:Enviaachavedecontroleparabaixodeevento

    acSendControlUp()Retorna:inteiro(sempre1)Comentrios:Enviaachavedecontroleevento

    acSendKeyDown(VKey)Parmetros:VKey:OkeycodevirtualparaenviarRetorna:inteiro(sempre1)Comentrios:Enviaachaveparabaixodeeventoparaajanelaativa.

    acSendKeys(keystring)Parmetros:KeyString:Aseqnciadecaracteresdeenviarcomandos(cobertoaquideteclas)Retorna:inteiro(sempre1)Comentrios:Enviapressionamentosdeteclasparaajanelaativa.

    acSendKeyUp(VKey)Parmetros:VKey:OkeycodevirtualparaenviarRetorna:inteiro(sempre1)Comentrios:Enviaachavedeeventoparaajanelaativa.

    acSendMessage(hwndTarget,MessageID,wParam,lParam)Parmetros:hwndTarget:OpunhododestinodajaneladeondeamensagemestaserenviadoMessageID:IDde(inteiro)amensagemaserenviada.wParam:wParam(inteiro)paraserenviadolParam:OlParam(inteiro)paraserenviadoRetorna:inteiro(sempre1)Comentrios:Estaumaformamuitosimples,nopermitindoaestruturasdedadoscomplexasemwParamelParam.Eupretendoexperimentaresuporteaqualquertipodeparmetronofuturo.

    acSendShiftDown()Retorna:inteiro(sempre1)Comentrios:Enviaachavededeslocamentoparabaixodeevento

    acSendShiftUp()Retorna:inteiro(sempre1)Comentrios:Enviaachavedemudanadeevento

    acSendWinDown()Retorna:inteiro(sempre1)Comentrios:Enviaachavedavitrianoevento

    acSendWinUp()Retorna:inteiro(sempre1)Comentrios:EnviaachaveWinevento

  • acSendWindowToBottom(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:Enviaajanelaespecificadaparaoinferiordajanelapilha(imaginetransformarsuatelaplanaeolhandoparabaixoadespejarsobreele)

    acSendWindowToMonitorByHandle(monitorhandle)Parmetros:monitorhandle:OidentificadorparaomonitordesejadoRetorna:inteiro(sempre1)Comentrios:Enviaajanelaparaomonitorespecificado(posiescombasenoLEFTeTOP,noredimensionar)

    acSendWindowToMonitorByName(monitorname)Parmetros:monitorname:Onomedomonitordesejado(deveserumaseqnciadeescape!\\para\,porexemplo,"\\.\DISPLAY1"seriaescritonoscriptLuacomo"\\\.\\DISPLAY1")Retorna:inteiro(sempre1)Comentrios:Enviaajanelaparaomonitorespecificado(posiescombasenoLEFTeTOP,noredimensionar)

    acSendWindowToNextMonitor(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiro(sempre1)Comentrios:Enviaajanelaparaoprximomonitor(posiescombasenoLEFTeTOP,noredimensionar)

    acSendWindowToPreviousMonitor(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajaneladesejada(se"nil",xeyserusadoparaobterajanelaascoordenadas)x:senenhumhwndTargetespecificado,esteObtmoidentificadordejanelanoxeycoordenadasy:vejaacimaRetorna:inteiro(sempre1)Comentrios:Enviaajanelaparaomonitoranterior(posiescombasenoLEFTeTOP,noredimensionar)

    acSetClipboardText(value)Parmetros:valor:OtextoparasalvarareadetransfernciaRetorna:inteiro(sempre1)Comentrios:Defineotextodeclipboardao"valor"

    acSetDisplayGamma(vermelho,verde,azul)Parmetros:vermelho:Onovovalordegamavermelho(0255)verde:Onovovalordegamaverde(0255)azul:Onovovalordegamaazul(0255)Retorna:inteiro(1parasucesso,1parafalha)Comentrios:Ajustaarampadegamaemtodaareadetrabalhointeira,sesuportadopelaplacadevdeo.

    acSetMonitorBrightness(monitorhandle,x,y,valor)Parmetros:monitorhandle:Oidentificadorparaomonitorx:acoordenadaxdopontousadoparalocalizaromonitory:acoordenadaydopontousadoparalocalizaromonitorvalor:OnovovaloraserdefinidocomoobrilhoRetorna:inteiro(1parasucesso,1parafalha)Comentrios:Defineovalordebrilhodomonitorprimeirofsicoassociadocomoidentificadordemonitor(nosuportadoantesVistanememalgunsmonitores,consultealterarologparadetalhes)

    acSetMute(value)Parmetros:valor:1a0paranomudo,mudoRetorna:inteiro(sempre1)Comentrios:Defineoestadocombasenovalorpassadoem

  • acSetNumber(value)Parmetros:valor:onmeroparaarmazenarems+parausoporacGetNumberRetorna:inteiro(sempre1)Comentrios:Armazenaonmeroems+pararecuperaoporacGetNumber

    acSetProcessPriority(hwndTarget,x,y,prioridade)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaprioridade:(inteiro)ovalordanovaprioridade(combasenovalordedwPriorityClassaqui:http://msdn.microsoft.com/enus/library/windows/desktop/ms686219.aspx)Retorna:inteiro(sempre1)Comentrios:Defineaprioridadedoprocessodajanela

    acSetTopmost(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:DefineosinalizadordenvelsuperiordajanelaparaON

    acSetVolume(valor,incremento)Parmetros:valor:(0100deinteiro)valorparadefinirovolumeparaincremento:(0paraFalse,1paraverdadeiro)trueSPdizparausaroparmetrodevalorcomoumajusteparaoatualvolme,falsedefineovolumeparaovalorexplicitamenteRetorna:inteiro(sempre1)Comentrios:Defineonveldevolumeprincipal

    acSetWindowColorKey(hwndTarget,x,y,remover,vermelho,verde,azul)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaremover:(boolean)truepararemoverachavedecorvermelho:Overmelhovalordacorparatornarachavedecorverde:Overdeparaovalordacorparatornarachavedecorazul:OazulvalordacorparatornarachavedecorRetorna:inteiro(sempre1)Comentrios:Defineachavedecoresparaumajanela,oquefazcomquetodasaspartesdeumajanelaquecombinarcomacor(R,G,B)transparente.Podeterresultadosestranhosdependendodajanela!

    acSetWindowSize(hwndTarget,x,y,esquerda,cima,largura,altura)Parmetros:hwndTarget:Oidentificadorparaajanelaparasermovido/porte"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelaparasermovido/tamanhoy:oY(topo)coordenardajanelaparasermovido/tamanholargura:Anovalarguradajanelaaltura:AnovaalturadajanelaRetorna:inteiro(sempre1)Comentrios:Moveetamanhosdejanelausandoascoordenadasespecificadaselargura/altura

    acSetWindowTransparency(hwndTarget,x,y,opacidade)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaopacidade:Ovalorparadefinironveldeopacidadepara,0255(255opaco)Retorna:inteiro(sempre1)Comentrios:Defineonveldetransparnciadeumajanela,sendoinvisvel,sendoslidode2550

    acSetWindowTransparencyAndColorKey(hwndTarget,x,y,opacidade,vermelho,verdeeazul)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaopacidade:Ovalorparadefinironveldeopacidadepara,0255(255opaco)vermelho:Overmelhovalordacorparatornarachavedecorverde:Overdeparaovalordacorparatornarachavedecor

  • azul:OazulvalordacorparatornarachavedecorRetorna:inteiro(sempre1)Comentrios:Defineatransparnciaeacorchaveparaumajanela

    acShellExecute(verbo,arquivo,parmetros,diretrio,estilo)Parmetros:verbo:editar,explorar,encontrar,abrir,imprimir.PesquisaparaShellExecuteMSDNnaInternetparaobtermaisdetalhes.arquivo:Oarquivoouprogramaparaabrir(ouexecutaroutrasaescontra).Seespecificarocaminhocompletonesteparmetro,escapebarrasinvertidassorequer(C:\windows\notepad.exeprecisaserescritocomoC:\\windows\\notepad.exe)parmetros:(opcional)osparmetrosdelinhadecomandoparapassarparaoprogramadiretrio:(opcional)especificaodiretriodetrabalhoestilo:Oestilodajaneladoprograma(escondido,normal,maximiza,etc.),usandoumdonCmdShowvalordescritoaqui:http://msdn.microsoft.com/enus/library/windows/desktop/ms633548.aspxRetorna:inteiro(sempre1)Comentrios:Executaoverboespecificadonoarquivoounoobjetoespecificado.Porexemplo,especificarumdocumentodoMSWordcom"aberta"eeleserabertonoMSWord.OuumEXEpodeseraberto,semelhanteaoacRunProgram().

    acShowAbout()Retorna:inteiro(sempre1)Comentrios:Mostraajanelasobre

    acShowMouseCursor()Retorna:inteiro(sempre1)Comentrios:Recarregatodososcursoresdemousepadro

    acShowSettings()Retorna:inteiro(sempre1)Comentrios:Mostraajaneladeconfiguraes

    acShowActions()Retorna:inteiro(sempre1)Comentrios:Mostraajaneladeaes

    acShowHotkeys()Retorna:inteiro(sempre1)Comentrios:Mostraajaneladeteclasdeatalho

    acShowIgnoreList()Retorna:inteiro(sempre1)Comentrios:Mostraajaneladelistadeignorados

    acShowPrefs()Retorna:inteiro(sempre1)Comentrios:Mostraajaneladepreferncias

    acTerminateProcess(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:Mataoprocessoprincipaldajanelaespecificada.Istonoenviaumamensagemdefechamentoamigvelquepedeparasalvararquivos,etc.

    acTileWindows(modo,rea,mtodo)Parmetros:modalidade:1aoladoaladoverticalmente,2aoladoaladohorizontalmenterea:0telharsomentenatelaonderesideajanelasoboinciodogesto,1paraazulejoemtodaareadetrabalhovirtualinteiramtodo:0terStrokesPluslidarcomatelha,1terjanelalidarcomaladoaladoRetorna:inteiro(sempre1)Comentrios:Telhastodasasjanelasabertasverticalmenteouhorizontalmenteatravsdatelaoutodasastelas.Notequealgumasjanelasnopodemposicionarcorretamentedevidocriaodejanelanopadro.Voucontinuararefinarthieseaesnessesentido,mastentemudaromtodotambmparaveroquefuncionamelhorparavoc.

    acToggleMute()Retorna:inteiro(sempre1)Comentrios:Alternaomutenocanalmestre

  • acToggleTopmost(hwndTarget,x,y)Parmetros:hwndTarget:Oidentificadorparaajanela"nil"usaroxeyparalocalizarajanelax:acoordenadadeX(esquerda)dajanelay:acoordenadaY(topo)dajanelaRetorna:inteiro(sempre1)Comentrios:Alternaabandeirasuperiordajanela,ligadooudesligado

    acToggleTrayIcon(state)Parmetros:Estado:1apenasescondeoconedabandeja,0alternaoconedebandejaparaoopostodeseuestadoatual,1sapareceoconedebandejaretorna:inteiro(sempre1)Comentrios:AlternaouespecificaseoconedebandejadoStrokesPlusvisvelouoculto.TambmpodeserrealizadapressionandoCTRL+SHIFT+WIN+S

    [voltaraotopo]acSendKeysuso:

    Baseadonoprojetoaseguir:http://www.CodeProject.com/KB/cpp/sendkeys_cpp_Article.aspx

    Modificadoresdechave(indicaqueobotodeveserpressionadojuntocomocaractereseguinte,tilparaoenviodeALT+H,queleria"%h"):

    @=WINKEY+=SHIFT^=CTRL%=ALT

    Outrasfunes:

    {VKEYX}enviaoVKEYespecificado.tilsehouverumVKEYeunotenhadefinido.Porexemplo,{VKEY13}equivalenteaVK_RETURN.Veja:http://msdn.microsoft.com/enus/library/dd375731%28v=VS.85%29.aspx

    {BEEPXY}emiteumsinalsonorocomumafrequnciadeXeumaduraodeYms.

    {ATRASOX}atrasosenviandoaseguintechavedeXmilissegundos.Apsoatrasonaseguintechave,aschavessubseqentesseronomaisatrasadassenohouverumvalordeatrasopadro(consulteDELAY=X).Exemplo:{Atraso1000}

  • {ESCAPE}=VK_ESCAPE{F10}=VK_F10{F11}=VK_F11{F12}=VK_F12{F13}=VK_F13{F14}=VK_F14{F15}=VK_F15{F16}=VK_F16{F_1}=VK_F1{F_2}=VK_F2{F_3}=VK_F3{F_4}=VK_F4{F_5}=VK_F5{F_6}=VK_F6{F_7}=VK_F7{F_8}=VK_F8{F_9}=VK_F9{AJUDA}=VK_HELP{HOME}=VK_HOME{INS}=VK_INSERT{LBRACE}={{ESQUERDA}=VK_LEFT{LPAREN}=({LWIN}=VK_LWIN{MEDIANEXTTRACK}=VK_MEDIA_NEXT_TRACK{MEDIAPLAYPAUSE}=VK_MEDIA_PLAY_PAUSE{MEDIAPREVTRACK}=VK_MEDIA_PREV_TRACK{MEDIASTOP}=VK_MEDIA_STOP{MULTIPLICAR}=VK_MULTIPLY{NUMLOCK}=VK_NUMLOCK{NUMPAD0}=VK_NUMPAD0{NUMPAD1}=VK_NUMPAD1{NUMPAD2}=VK_NUMPAD2{NUM3}=VK_NUMPAD3{NUMPAD4}=VK_NUMPAD4{NUMPAD5}=VK_NUMPAD5{NUMPAD6}=VK_NUMPAD6{NUMPAD7}=VK_NUMPAD7{NUMPAD8}=VK_NUMPAD8{NUMPAD9}=VK_NUMPAD9{%}=%{PGDN}=VK_NEXT{PGUP}=VK_PRIOR{E}=+{PRTSC}=VK_PRINT{RBRACE}=}{RIGHT}=VK_RIGHT{RPAREN}=){RWIN}=VK_RWIN{ROLO}=VK_SCROLL{SEPARADOR}VK_SEPARATOR{SLEEP}VK_SLEEP{INSTANTNEO}=VK_SNAPSHOT{SUBTRAIR}VK_SUBTRACT{TAB}=VK_TAB{TIL}=~{UP}=VK_UP{VOLDOWN}=VK_VOLUME_DOWN{VOLMUTE}=VK_VOLUME_MUTE{VOLUP}=VK_VOLUME_UP{WIN}=VK_LWIN