1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[SOLVED][DUVIDA] Programaçao em C - Links e Janelas

Discussão em 'Programação' iniciada por NP666, 7 de Março de 2009. (Respostas: 5; Visualizações: 1102)

  1. NP666

    NP666 Power Member

    Boas ppl,

    Há tempos resolvi testar umas coisas novas em C, a primeira coisa foi abrir paginas HTML automaticamente, ou seja executava o programa e de X em X segundos abria uma nova janela html. e consegui usando

    Código:
    system("index.html")
    onde dentro do html tinha a meta do redireccionamento

    Código:
    <meta http-equiv="refresh" content="5; url=http://www.google.com/">
    mas agora reparei que ao fim de algumas horitas torna o PC lento devido ter aberto muitas paginas HTML.

    Agora o que eu queria agora era que ao fim de Y segundos o programa "mata-se" o FF ou IE.

    Alguem tem um ideia de como fazer isto?

    Cumps
     
    Última edição: 7 de Março de 2009
  2. OubeLa

    OubeLa Power Member

    Assim de repente, em linux, usarias um fork() para criar um novo processo e depois alguma função da família do exec(). Guardavas o pid do processo filho e depois quando precisasses matavas o processo. Em windows deve dar para fazer uma coisa semelhante.
     
  3. NP666

    NP666 Power Member

    Neste momento estou a usar o DEV-C (Windows)...

    Podias por um exemplo para Linux?

    É que não consegui perceber o que disses-te... é que existem certas coisas que não nos ensinam na escola/faculdade...
     
    Última edição: 7 de Março de 2009
  4. OubeLa

    OubeLa Power Member

    http://en.wikipedia.org/wiki/Fork-exec

    O que acontece é que um novo processo é criado com a função fork(), e depois esse processo é transformado noutro (maneira estranha de dizer :P) com uma função da família do exec().

    Código:
    if (fork() == 0) //processo filho
         execlp("firefox", "firefox", 0); //julgo que funciona, mas não testei
    
    else //processo pai
         //fazer outra coisa qualquer
    
    Ao fazer a chamada fork() podes arranjar uma maneira de guardar o process id do filho, com a função getpid(). Em windows não sei quais são as chamadas ao sistema.
     
  5. Devil_Angel100

    Devil_Angel100 Power Member

    usa o timer
     
  6. NP666

    NP666 Power Member

    O meu problema nao esta no timer...

    Mas sim em querer fechar o processo do webbrowser que estou a utilizar...

    Ok, quando puder irei testar.

    PS: Se alguem puder ajudar-me em windows agradecia... pois o programa será usado maioritariamente em windows o que ira fazer com que o fork e o pid sejam invalidados...

    EDIT: Resolvido usei o
    Código:
    system("taskkill /IM process.exe");
     
    Última edição: 7 de Março de 2009

Partilhar esta Página