Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > system komutu kullanırken CLI penceresi görünmesin?
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
16.01.2008-17:12 #34837
Yazdığım penceresiz küçük bir winapi uygulaması belirli zaman aralıklarıyla (örn: saatte bir kere) belirlediğim sistem komutlarını (c system fonksiyonu ile) çalıştırıyor. Bu komutların çalışması sırasında komut penceresi açılıp kapanıyor. Sebebi komutların ayrı bir process (cmd.exe) ile birlikte çalışması sanırım. Bu pencerelerin oluşumunu önleyebilir miyim? Ya da winapi'de bunun için başka yöntemler mevcut mudur? Aslında winapi fonksiyonlarından faydalanarak yazmak istedim ama zor geldi. :)

Teşekkürler.





Let`s make this world a better place to live !

Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
17.01.2008-01:20 #34941
ShowWindow(GetConsoleWindow(), SW_HIDE);

gibi birşey açtığın console penceresini gizleyebilir ama denemek lazım.





Yazar
neurorebel


avatar

Kayıt: 15.08.2007
17.01.2008-02:21 #34958
bi de sanki cmd.exe processini kendin penceresiz bi şekilde oluşturup oraya komutlarını yollayabilirsin. ama bunun için gereken kod silsilesini şu an yazamıyorum pek :) sanki böyle olabilir. denemek lazım.
yamuluyorsam düzeltin :P dayanamıyorum deniycem galiba sonucu bildiririm.





Do weird and difficult things.

Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
17.01.2008-02:50 #34960
Önceki yazdığım komut işe yaramadı. not talking En azından ben işe yarar hale getiremedim. Fakat CreateProcess ile oluşturduğumda sanırım oldu. peace

PROCESS_INFORMATION pi;
STARTUPINFO si;

ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;

CreateProcess(NULL,"cmd /c pause",NULL,NULL,TRUE,
CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);



SW_HIDE'ı SW_SHOW yaparsan fark anlaşılır...





Yazar
neurorebel


avatar

Kayıt: 15.08.2007
17.01.2008-03:09 #34962
that's the spirit :)





Do weird and difficult things.

Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
17.01.2008-03:13 #34963
Evet ben de komutları CreateProcess ile çalıştırıp pencerelerin gizlenebildiğini öğrenmiştim ama bu fonksiyonu nasıl kullanacağımı bir türlü bulamamıştım. Teşekkürler, işe yaradı. ;)





Let`s make this world a better place to live !

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb