Ir para conteúdo
Fórum Script Brasil

kkkiler

Membros
  • Total de itens

    34
  • Registro em

  • Última visita

Sobre kkkiler

kkkiler's Achievements

0

Reputação

  1. kkkiler

    VB e MS-DOS

    Eu já ia escrever falando q usando o timer deu certo :). Finalmente! Mas será q não tem jeito com loop? Eu tentei e num funfo não... como você fez?
  2. kkkiler

    VB e MS-DOS

    Eu estive ausente por um tempinho... agora voltei, e acabei d testar o método do sendkeys. Eu não sei o q estou fazendo d errado, simplesmente não está enviando a mensagem. Veja como eu coloquei: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long Private Sub Command1_Click() hWindow = FindWindow(vbNullString, "C:\WINDOWS\system32\cmd.exe") If hWindow Then SetForegroundWindow hWindow SendKeys "ipconfig" End If End Sub Bom, devo avisar que eu estou deixando a janela aberta antes de executar o programa. Fiz alguns testes e percebi que está tudo funcionando, com exceção de enviar a mensagem. Na verdade, se eu fico dando muitos cliques, uma vez ou outra aparece a última letra da mensagem.Enfim, estou quase lá xD Edit Fiz o teste em um bloco de notas, deu o mesmo problema, so q depois q eu clico um tempinho o programa envia a mensagem inteira, dae eu tenho q fica clicando até enviar(depois que envia a primeira vez, se eu quiser enviar outra, eu tenho q continuar clicando até enviar) Edit Opaopa.... que coisa estranha. O meu código está funcionando, mas só quando o dos está minimizado na hora que eu executo o programa. Ou seja, se o dos aqui estiver maximizado e eu enviar a mensagem, não vai acontecer nada, mas se o dos estiver minimizado, ele envia normalmente. Que bizarro... nota que isso que eu falei não vale pro "enter". Este funciona tanto se o dos estiver minimizado ou não. Bom, quando o dos está minimizado, ele maximiza na primeira vez q eu clico, dae eu minimizo e não maximiza +.Explica pra mim isso... e a solução, que eu não to entendendo nada.
  3. kkkiler

    VB e MS-DOS

    Eu quero fazer usando essa API aí... o único problema é que eu não entendi como usá-la(sim, eu olhei o post do Graymalkin) e também procurei em outros lugares.Estou com dificuldade. Você não pode me dar um exemplo prático usando essa api para se comunicar com o dos, enviando uma mensagem a ele? Eu não entendi direito como declara a API, nem como envia a mensagem Não quero usar a dll do graymalkin. porque? porque quero aprender a pescar, não quero o peixe pronto :D. Depois que eu aprender, quem sabe eu uso ne hehe Daí eu vou fazer assim: Usando o runas, vou abrir outra tela dos como admin, digitando a senha usando API(ou por acaso tem jeito de abrir o dos como admin pelo vb?). Nessa tela irei digitar o comando para copiar o arquivo, também usando API. È isso. Só preciso entender como q usa haha
  4. Muito bem caros amigos, eu não tenho conhecimento de API(por enquanto) mas andei aprendendo sobre DOS. Como não encontrei esta dica em lugar algum, resolvi postar. Certamente você já teve que desabilitar a barra de tarefas, certo?(talvez não <_< ), daí você procurou em como finalizar o explorer pelo vb, certo?(bom, foi a primeira coisa que eu fiz, pois eu sabia que, finalizando o explorer, eu desabilitaria a barra de tarefas), daí quando você finalmente descobriu como finalizar o explorer, do nada(magicamente, eu não sei porque!), ele volta, como se você tivesse executado ele de novo("Executar nova tarefa"), daí depois de um tempo você encontra como desabilitar a barra de tarefas, sem ter que finalizar o explorer. Ufa! Que cansaço, não?(bem, talvez você não tivesse tido todo esse trabalho que eu tive :rolleyes: ). Bom, aí vai como fazer isso pelo vb. Sem api nem nada, só o dos. 1° Adicione um novo botão no seu formulário 2° No evento "Click" do botão, adicione a seguinte linha: Shell "cmd /c taskkill -f -im explorer.exe", vbHide 3°Execute o programa e clique no botão! Tá aí! Simples, não? não teve que usar api nem nada, economizando muitas linhas de código. Vocês podem usar isso pra finalizar outros processos também. Espero que gostem B) . Edit Esqueci de falar, isso da + meus outros tutos eu fiz no VB6 ^_^ Comentário são sempre bem vindos :D Obs: Não houve comentário nos meus outros tutos T_T
  5. kkkiler

    VB e MS-DOS

    Ok, vamos por partes: 1° Eu já testei o runas. Eu testei usando o explorer como administrador.Consegui apenas copiar o arquivo a mão(botão direito), mas não consegui fazê-lo pelo DOS ou pelo vb. Então eu descobri que na verdade eu tinha que executar o dos como administrador. Esse é o problema. Como executar o dos como admin pelo vb? Ou mesmo por um arquivo bat? Além disso, há um momento que é preciso digitar a senha do administrador no prompt de comando, ou seja, eu tentei de tudo, mas esse comando insiste que eu digite a senha na tela preta.Fiz até um bat pra ver se dava certo, mas eu sempre tive que digitar a senha na tela. Eu quero que o programa faça isso, sem eu precisar digitar. 2°Quanto ao componente...bem, primeiro vou dizer que eu tinha dado uma pausa nesse assunto e fui fazer outras coisas no vb. Antes de te perguntar pelo primeira vez do assunto, eu já tinha encontrado um compilador que fazia a tarefa, mas como eu sou teimoso B) , eu não quis usar pois so quero fazer pelo vb(o dos não conta). Dae quando eu voltei pro assunto, eu olhei o componente, achei muito complicado xP e fui procurar se tinha outra solução. Achei o runas, que no fim das contas não deu certo. Enfim... acho que vou ter que aprender a usar o componente mesmo, ou eu uso o compilador hahaha(se você souber alguma coisa do uso desse componente, me fala porque eu já dei uma olhada e parece muito complicado)
  6. kkkiler

    VB e MS-DOS

    Vou aproveitar o tópico pra tirar outra dúvida: Tem jeito de abrir um programa pelo vb utilizando o recurso "Executar como..."(que aparece clicando com o botão direito em um aplicativo).Na verdade, abrir um programa como um outro usuário, pelo vb.Por exemplo, eu coloco lá no vb "shell 'cmd' as administrator 123456", onde os números são a senha do administrador. Então, tem como fazer isso pelo vb? O fato é q eu quero copiar um arquivo logado como um usuário sem privilégio, para uma pasta do usuário com privilégio(administrador). Se isso não der certo, teria um jeito de dar todos os privilégios possíveis a um usuário comum para usar o dos? Sei la, liberar os privilégios administrativos pra o usuário comum usar o dos, sem que ele tenha que clicar com o botão direito, "Executar como...".Tenho certeza que é possível esta última opção :) Aguardando resposta...
  7. kkkiler

    VB e MS-DOS

    Vlw mas a intenção é justamente evitar o bat :).Bom, enfim, era só curiosidade.Pelo jeito não tem como mesmo.
  8. kkkiler

    VB e MS-DOS

    A dúvida é a seguinte... tem como executar mais de um comando no dos pelo mesmo shell? Ao invés de ter que fazer outro shell?Para que funcione como um arquivo de lotes(.bat) Desde já agradeço pela atenção.
  9. kkkiler

    Itens selecionados

    Ermm.... depois d um tempo eu consegui resolver mas vlw mesmo assim ;)
  10. Alguém saberia me dizer como verificar os itens selecionados de um listbox(propriedade MultiSelect Simple)? Se eu coloco uma msgbox assim: "msgbox List1.List(List1.ListIndex)", so mostra na mensagem o último item que eu selecionei. Não, na verdade, mostra o último item q eu cliquei. O q eu quero, enfim, é mostrar na mensagem os itens que estão selecionados. Desde já agradeço a resposta
  11. kkkiler

    Excel

    Ressuscitando tópico para tirar outra dúvida pertinente: Tem jeito de, literalmente, remover algum botão do excel? No meu caso, por exemplo, remover o "Salvar Como..."?Remover, não apenas desabilitar. Desde já agradeço pela atenção
  12. A cara essa é simples é só você usar a API FindWindow. Fiz um exemplo com o bloco de notas: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Sub Command1_Click() Do While FindWindow(vbNullString, "Sem título - Bloco de notas") = 0 'abre o bloco de notas se ele não estiver aberto Shell ("notepad.exe"), vbNormalFocus Exit Sub Loop If FindWindow(vbNullString, "Sem título - Bloco de notas") Then 'Imprime uma mensagem se o bloco de notas já estiver aberto MsgBox "já ta aberto!" End If End Sub Obs: no lugar do "Do While Loop" você poderia usar "if end if" se você insiste Faça bom proveito ;) .Qualquer dúvida poste.
  13. Hm?! Uai, pelo que eu entendi q você quer fazer, é só usar o comando shell também!Assim: Shell ("C:\Arquivos de programas\Internet Explorer\iexplore.exe"), vbMaximizedFocus Pode ser outro caminho também, procura onde fica sua internet. Hm... eu também sou, pelo - me considero um.
  14. O problema do explorer já resolvi, agora, ninguém ae sabe responder minha primeira dúvida? Aguardo resposta.
  15. O jeito que encontrei recentemente(digo "encontrei",não "criei", os créditos não são meus) , é finalizando o processo pelo taskmanager, assim: Public Sub CloseProgram(str_program) Dim obj_processes Dim obj_process Dim obj_WMIService Set obj_WMIService = GetObject("winmgmts:") Set obj_processes = obj_WMIService.ExecQuery("Select * from Win32_Process where Caption ='" & str_program & "'") For Each obj_process In obj_processes obj_process.Terminate Next Set obj_processes = Nothing Set obj_WMIService = Nothing End Sub Daí você chama a rotina em algum lugar, exemplo: Private Sub Command1_Click() Call CloseProgram("explorer.exe") End Sub ou Private Sub Command1_Click() CloseProgram "explorer.exe" End Sub Obs: não sei porque, mas depois de finalizar o explorer, ele volta depois de uns segundos. Eu pelo menos só tenho esse problema com o explorer Se é pra finalizar teu programa coloca "Unload Me" em algum lugar, ou "end"(alías, alguém sabe se tem diferença?)
×
×
  • Criar Novo...