{"id":1432,"date":"2015-10-14T13:59:51","date_gmt":"2015-10-14T17:59:51","guid":{"rendered":"http:\/\/linguagemprisma.net\/blog\/?p=1432"},"modified":"2015-10-14T17:36:41","modified_gmt":"2015-10-14T21:36:41","slug":"chamando-processos-com-o-win-execute-biblioteca-win","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/modo_texto\/chamando-processos-com-o-win-execute-biblioteca-win\/","title":{"rendered":"Chamando processos com o win.Execute(&#8230;) Biblioteca win."},"content":{"rendered":"<h5>**Antes de mais nada v\u00e1 \u00e0 p\u00e1gina de downloads e baixe a atualiza\u00e7\u00e3o mais recente de Prisma. (12\/10\/2015 ou superior).**<\/h5>\n<p>&nbsp;<\/p>\n<h5>Obs. outra grande mudan\u00e7a \u00e9 que a biblioteca win foi desmembrada do interpretador prisma.exe devido a quest\u00f5es de portabilidade, facilidade de compila\u00e7\u00e3o, e economia de mem\u00f3ria caso n\u00e3o precise us\u00e1-la.<\/h5>\n<p><em><strong>Basta inclu\u00ed-la no seu programa antes de usar suas fun\u00e7\u00f5es:\u00a0\u00a0<\/strong><\/em><\/p>\n<pre class=\"lang:prisma decode:true\">inclua'win'; \/\/s\u00f3 isso!<\/pre>\n<p>&nbsp;<\/p>\n<p>win.Execute(&#8230;)\u00a0 \u00e9 \u00f3tima e muito poderosa. Pense naquela situa\u00e7\u00e3o em que voc\u00ea quer que seu aplicativo chame um outro programa executando-o em um processo diferente. Por exemplo, abrir uma p\u00e1gina da internet no navegador padr\u00e3o do sistema, executar um comando do sistema, ou abrir um documento no aplicativo padr\u00e3o etc.<\/p>\n<p>Vamos l\u00e1 ent\u00e3o!<\/p>\n<p>sintaxe:\u00a0\u00a0\u00a0 win.Execute( id , modo, alvo , param , diretorio , visual );<\/p>\n<p>em que:<\/p>\n<p>id = nulo ou o hwnd de uma janela.<\/p>\n<p>modo &#8211; \u00e9 uma string que indica a forma de chamar o alvo. Veja abaixo as op\u00e7\u00f5es de modos:<\/p>\n<ul>\n<li>&#8220;&#8221;\u00a0 ou nulo\u00a0 &#8211; string vazia ou nulo &#8211;\u00a0 apenas chama o alvo.<\/li>\n<li>&#8220;edit&#8221; &#8211; chama um arquivo de texto para ser editado em seu programa padr\u00e3o, ex. *.prisma abre com prismacod<\/li>\n<li>&#8220;open&#8221; &#8211; chama qualquer documento e o abre com seu programa padr\u00e3o. Menos os da modalidade &#8220;edit&#8221;<\/li>\n<li>&#8220;runas&#8221; &#8211; executa um programa *.exe pedindo permiss\u00e3o de privil\u00e9gio administrador.<\/li>\n<li>&#8220;explore&#8221; &#8211; abre o explorador de arquivos, na pasta indicada em alvo.<\/li>\n<li>&#8220;find&#8221; &#8211; abre uma p\u00e1gina de pesquisa de arquivos na pasta indicada em alvo.<\/li>\n<li>&#8220;print&#8221; &#8211; imprime o arquivo indicado em alvo.<\/li>\n<\/ul>\n<p>alvo = \u00e9 o arquivo, endere\u00e7o, ou diret\u00f3rio a ser executado. (Lembre-se que &#8220;.&#8221; significa diret\u00f3rio atual)<\/p>\n<p>param = s\u00e3o os par\u00e2metros passados para o alvo. Deixe espa\u00e7o entre os par\u00e2metros. Ex.: &#8221; -o file.out file.in -std=c99 &#8221;<\/p>\n<p>diretorio = string que indica a pasta onde ser\u00e1 o ambiente de execu\u00e7\u00e3o. Geralmente na mesma pasta do arquivo a ser aberto.<\/p>\n<p>visual = Vari\u00e1vel predefinida em win que indica se o arquivo ou programa ser\u00e1 aberto minimizado, maximizado, normal, oculto etc. Sempre inicia com sw_ (Show_Window); Eis algumas delas a seguir:<\/p>\n<ul>\n<li>sw_minimize , sw_mostre , sw_maximize , sw_oculte;<\/li>\n<\/ul>\n<p>Vamos aos exemplos agora:<\/p>\n<pre class=\"lang:prisma decode:true\">inclua'win'; \r\n\/\/ a partir da vers\u00e3o Prisma-1.0.94 win \u00e9 separada de prisma\r\n\/\/sendo necess\u00e1rio inclu\u00ed-la.\r\n\r\n\/\/chamando a calculadora no diret\u00f3rio C:\\:\r\n\r\nwin.poe(conv_w'Vamos abrir a calculadora a partir do diret\u00f3rio C:\\\\\\n\\n clique ok');\r\nwin.Execute(nulo , 'open' , 'calc' , '' , 'C:\\\\' );\r\n\/\/note que foi omitido o \u00faltimo par\u00e2metro, o padr\u00e3o \u00e9 sw_mostre(mostra a janela normal);\r\n\r\nwin.poe(conv_w[[Abrindo a pasta C:\\Prisma\\1.0\\bin\\:\r\n\r\n\u00a0clique ok]]);\r\n\r\n\r\n\/\/abrindo a pasta C:\\Prisma\\1.0\\bin\\:\r\nwin.Execute(nulo,'explore' , 'C:\\\\Prisma\\\\1.0\\\\bin\\\\', '' , '', sw_maximize );\r\n\r\nwin.poe(conv_w[[abrindo um site com navegador padr\u00e3o:\r\n\r\n\u00a0clique ok]]);\r\n\/\/abrindo um site com navegador padr\u00e3o:\r\nwin.Execute(nulo,nulo,'www.linguagemprisma.net\/blog' , '', '' , sw_maximize );\r\n\/\/note que o segundo par\u00e2metro foi omitido, nulo no lugar de algum valor, o padr\u00e3o \u00e9 'open' (abrir);\r\n\r\n\r\nwin.poe(conv_w[[\r\nexecutando um programa com par\u00e2metros:\r\n\r\n\u00a0clique ok]]);\r\n\/\/executando um programa com parametros:\r\nwin.Execute(nulo, \/\/hwnd de uma janela\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '' , \/\/modo; aqui foi omitido com aspas vazias, o padr\u00e3o \u00e9 abrir o alvo.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'C:\\\\Prisma\\\\1.0\\\\bin\\\\prismacod.pbrexe' , \/\/arquivo ou programa a ser aberto(alvo)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 'teste.prisma' , \/\/parametros\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '.' ,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/diret\u00f3rio de execu\u00e7\u00e3o (ponto indica a pasta atual) \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sw_maximize \/\/ visual =&gt; maximizado\r\n);\r\n\r\n\r\nwin.poe(conv_w[[\r\nabrindo o wordpad com pedido de permiss\u00e3o de privil\u00e9gios\r\n\r\n\u00a0clique ok]]);\r\n\r\n\/\/abrindo o wordpad com pedido de permiss\u00e3o de privil\u00e9gios\r\nwin.Execute( nulo , 'runas', 'wordpad' , '' , '.' , sw_maximize );\r\n\r\n\r\nwin.poe(conv_w[[\r\n\r\n\r\n\u00a0\u00a0\u00a0 P\u00a0\u00a0 R\u00a0\u00a0 I\u00a0\u00a0 S\u00a0\u00a0 M\u00a0\u00a0 A\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0 .............FIM.................\r\n\r\n\u00a0\u00a0 Clique ok para sair!\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]]);\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>**Antes de mais nada v\u00e1 \u00e0 p\u00e1gina de downloads e baixe a atualiza\u00e7\u00e3o mais recente de Prisma. (12\/10\/2015 ou superior).** &nbsp; Obs. outra grande mudan\u00e7a \u00e9 que a biblioteca win foi desmembrada do interpretador prisma.exe devido a quest\u00f5es de portabilidade, facilidade de compila\u00e7\u00e3o, e economia de mem\u00f3ria caso n\u00e3o precise us\u00e1-la. Basta inclu\u00ed-la no seu&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,9],"tags":[],"class_list":["post-1432","post","type-post","status-publish","format-standard","hentry","category-modo_texto","category-win"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/1432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=1432"}],"version-history":[{"count":5,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/1432\/revisions"}],"predecessor-version":[{"id":1437,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/1432\/revisions\/1437"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=1432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=1432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=1432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}