Ir para conteúdo
Fórum Script Brasil

eno

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por eno

  1. Olá amigos,

    Gostaria de fazer duas perguntas que se enquadrariam no título dest post, porém, imagino que uma seja mais simples, já a outra deve ser complicada:

    Gostaria de criar um programa para detectar outro programa rodando no computador do usuário nos seguintes casos:

    1- Detectar um programa rodando por seu nome.

    2- Detectar o consumo de processamento de CPU e de memoria RAM deste aplicativo (por nome)

    3- (a que imagino ser complicada): Detectar um aplicativo em execução por alguma informação que seja "capturavel" de outro processo. Neste caso, eu precisaria saber se existe algum meio de detectar um programa sem ser por seu nome.. se sim, como posso capturar informações deste executavel para que futuramente eu possa programar algum meio de verificação para ver se o mesmo está em execução no sistema? Obrigado.

    1- Para você detectar um programa que está executando ou não é "fácil" basta usar a API FindWindow. tipo FindWindow(vbNullString, "Form1") isto retornaria um handle do windows se existisse um programa com o caption "Form1".

    2 e 3 - A única forma que conheço(deve haver muitas outras) de pegar informações sobre programas rodando em memória é atraves das APIs de "Tool Help Functions" e nunca tentei cruzar as informações vindas da FindWindow com as informações destas APIs. para usar estas APIs primeiro você tem que chamar CreateToolhelp32Snapshot para criar um "snapshot" do sistema nese momento, com o retorno desta função você executaria outra API Process32First para ir ao primerio processo rodando em memória. depois navegaria pelos restantes usando Process32Next. estas funções já retornam um tipo de dados PROCESSENTRY32 que tem diversas informações sobre o programa como nome do executável, tamanho(talvez até do da memória gasta..) algo como o que segue:

    Const TH32CS_SNAPHEAPLIST = &H1

    Const TH32CS_SNAPPROCESS = &H2

    Const TH32CS_SNAPTHREAD = &H4

    Const TH32CS_SNAPMODULE = &H8

    Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)

    Const MAX_PATH As Integer = 260

    Private Type PROCESSENTRY32

    dwSize As Long

    cntUsage As Long

    th32ProcessID As Long

    th32DefaultHeapID As Long

    th32ModuleID As Long

    cntThreads As Long

    th32ParentProcessID As Long

    pcPriClassBase As Long

    dwFlags As Long

    szExeFile As String * MAX_PATH

    End Type

    Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

    Public Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

    Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

    'aqui seria uma procedimento

    '---------------------------------------

    Dim i As Integer

    Dim Handle As Long

    Dim uProcess As PROCESSENTRY32

    Handle = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)

    uProcess.dwSize = Len(uProcess)

    ReDim ProcessId(Len(uProcess))

    ReDim ProcessEx(Len(uProcess))

    ret = Process32First(Handle, uProcess)

    i = 0

    Do While ret

    Form1.lstprocess.AddItem uProcess.szExeFile & " - " & uProcess.th32ModuleID

    ProcessEx(i) = uProcess.szExeFile

    ProcessId(i) = uProcess.th32ProcessID

    ret = Process32Next(Handle, uProcess)

    i = i + 1

    Loop

    Form1.Label3.Caption = "Processos Total: " & i - 1

    CloseHandle Handle

    '------------------------------------------------

    '------------------------------------------------

    mais ou menos por ai.. existe também outras APIs que você pode pesquisar como OpenProcess, GetProcessMemoryInfo (que verifica memória usada por um processo), GetModuleFileNameEx. enfim.. tem muita coisa que você pode pesquisar. espero ter ajudado.

  2. Você já alterou os tamanhos máximos do POST e do upload de arquivos??? por padrão são 8 e 2 megas respectivamente...

    Não tinha visto isto não.. mas realmente há uma grande chace de ser o post_max_size que está em 8 MB. agora tenho que entrar em contato com o provedor p alterar este valor lá p mim. valeu! obrigado

  3. Esta acontecendo o seguinte: a ftp_put esta funcionando tudo blza para arquivos pequenos. tudo perfeito. mas se eu quiser enviar um arquivo de 8 MB não vai. não dá erro nunhum, apenas não é copiado o arquivo e a função retorna false. já aumentei o p Timeout pra mais de 20 minutos e se eu copiar direto(usando algum programa ou internet explore) dá certo, ou seja, o pró está no script(apesar de funcionar para arquivos menores). se alguém tiver algum idéia... agradeço desde já.

  4. Minha dúvia é a seguinte, exite alguma forma de implementar mensagens de dialogo com o PHP? tipo é exibido uma caixa de dialogo perguntando algo ao usuário e dependo da resposta (sim ou não) executa script x ou script y.

  5. Foi mal galera!! foi BIOS(Bicho Ignorante Operando o Sistema) minha.. Meu botão na verdade é uma imagem com um link e eu não tinha colocado no onclick do link a linha de comando p chamar o submit do form. por isso não estava enviado! e passei o dia inteiro quebrando a cabeça :P

    Obrigado novamente Beraldo!!

  6. Estou com está dúvida já rodei os sites de busca o dia inteiro e nada..

    è o seguinte, tenho um formulário que vai enviar dados e um arquivo para um página php tratar e inserir num bd. e o envio do arquivo é opcional, só que quando clido no botão(submit) ele só enviar os dados se eu tiver selecionado um arquivo(e válido). alguém sab como fazer este input(file) permitir que o envio do formulário mesmo sem está preenchido(sem selecionar um arquivo)?

    estou precisando desta força!!

  7. Alguém poderia me ajudar.

    Tenho dois <SELECT> no meu form. O primeiro é preenchido no carregamento da página o segundo é preenchido adicionando valores a partir deste primeiro. Até aqui tudo bem, mas não estou sabendo “pegar” os valores deste segundo <SELECT> através do POST do form. Gostaria de pegar todos os valores deste segundo e não apenas o que está selecionado. Alguém sab como?

×
×
  • Criar Novo...