Arama butonu
Bu konudaki kullanıcılar: 1 misafir
27
Cevap
15078
Tıklama
0
Öne Çıkarma
Cevap: c++ ile windows programları yapmak (2. sayfa)
ß
17 yıl
Çavuş

quote:

Orjinalden alıntı: dumah

Azminize hayran kaldım...


Bu azimle, ilerde senin yazmış olduğun programlarıda kullanırız nasipse.
@Panda arkadaşımada saygılarımı sunarım, bu yardımseverliğinden dolayı.
Başarılar...


Bu mesaja 1 cevap geldi.
S
17 yıl
Binbaşı
Konu Sahibi

@PanDa hocamın yerini kimse tutamaz yav
Sadece yazılımda değil Elektronikte de çok yardımcı oldu.Kendisine çok teşekkür ederim.

Ayrıca C# ile yazmak istemiyorum.Çünkü bana pek sıcak bir dil olarak gelmiyor.C++ ile bilgisayara daha çok hakimmişim gibi geliyor.
Gerçi görsel program yazmak işkence ama olsun.Zaten vaktim çok...


Bu mesaja 1 cevap geldi.
N
17 yıl
Teğmen

quote:

Orjinalden alıntı: strom

@PanDa hocamın yerini kimse tutamaz yav
Sadece yazılımda değil Elektronikte de çok yardımcı oldu.Kendisine çok teşekkür ederim.

Ayrıca C# ile yazmak istemiyorum.Çünkü bana pek sıcak bir dil olarak gelmiyor.C++ ile bilgisayara daha çok hakimmişim gibi geliyor.
Gerçi görsel program yazmak işkence ama olsun.Zaten vaktim çok...



aynen katılıyorum.



D
17 yıl
Binbaşı

quote:

Orjinalden alıntı: PanDa

@strom ilk sorun imkansız.Çünkü Dialog pencereleri (MessageBox, InputBox vb.) açıldığında owner pencere thread'ini bloke eder.Yani daha açık söylemek gerekirse dialog penceresinin açıldığı noktada program akışı durur, dialog penceresi kapandığında dönen result'a göre devam eder.

İkinci soruna gelince.Bu işi yine CreateProcess API fonksiyonu ile yapabilirsin.Bu API yolunu verdiğin çalıştırılabilir dosyayı alır ve bir process oluşturur.

Örneğin;

void main( void ) {
STARTUPINFO startup { sizeof(STARTUPINFO) };
PROCESS_INFORMATION procInfo;
char[] argumanlar "notepad.exe C:\\deneme.txt";

if(!CreateProcess(NULL, argumanlar, NULL, NULL, TRUE, 0, NULL, NULL, &startup, &procInfo)) {
//Process oluşturulamadı..Buraya hata kodlarını yazarsın
}
//Burdaki API kernel nesneleri kapalı duruma gelene kadar, çağrıldığı thread'i bloke eder
//Yani biz açtığımız process'in kapanmasını bekliyoruz(notepad.exe)
WaitForSingleObject(procInfo.hProcess, INFINITE);
puts("Program sonlandi..\n\r");
}

CreateProcess'te bazı önemli noktalar var.Mesela bu API'nin ilk paramtresi çalıştırılmak istenen exe'nin yolunu,
ikinci parametre ise komut satırı argümanlarını alır.Bu komut satırı argümanları STARTUP kodu tarafından ayrıştırılır argc, argv argümanları olarak main'e geçirilir falan filan...
Şimdi sen istersen program ismini ilk paramtreye, argümanları ikinci paramtreye verebilirsin.Fakat ilk paramtre NULL geçilmeyecekse çalıştırılacak programın yolu göreli değil ("deneme.exe" gibi) tam yolu olmalıdır.Eğer göreli olacaksa da bu program sadece ana process'in çalışma dizininde aranır..
Ama bu paramtre NULL geçilip ikinci parametre "ilk eleman mutlaka program ismi, diğerleri boşluklarla ayrılmış argümanlar" olacak şekilde geçirilirse, program ismi göreli olabilir.("deneme.exe" gibi)Bu durumda bu program CreateProcess'i çağıran programın çalışma ve bulunduğu dizinde, sistem32 dizininde(NT'de) ve çevre değişkenlerinde aranır.Bu daha esnektir, o yüzden bunu kullan.Diğer parametreler ile kafanı karıştırmıyorum.Lazım olunca onlarada bakarız...

Kolay gelsin.



hocam elinize sağlık bizde bilgilendik


Bu mesaja 1 cevap geldi.
B
17 yıl
Yarbay

Buradakiler elektronikçi galiba o zaman bende bi soru sorayım hemen şimdi giriş seviyesinde C bilgim var GUI vs. alakam yok ilgilenmiyorum.Ele-Elo müh. okuyorum(2. sınıf) ileridede gömülü sistemler-mikro işlemciler üzerine çalışmak istiyorum şimdi bu uğurda C/C++ hangisiyle yola devam etmek gerekir ++ olmasada olurmu.Birde bu C nin ucu bucağı yok galiba benim ilgi alanıma yönelik kitap veya döküman tavsiyesi istesem.


Bu mesaja 1 cevap geldi.
S
17 yıl
Binbaşı
Konu Sahibi

quote:

Orjinalden alıntı: i have a dream

Buradakiler elektronikçi galiba o zaman bende bi soru sorayım hemen şimdi giriş seviyesinde C bilgim var GUI vs. alakam yok ilgilenmiyorum.Ele-Elo müh. okuyorum(2. sınıf) ileridede gömülü sistemler-mikro işlemciler üzerine çalışmak istiyorum şimdi bu uğurda C/C++ hangisiyle yola devam etmek gerekir ++ olmasada olurmu.Birde bu C nin ucu bucağı yok galiba benim ilgi alanıma yönelik kitap veya döküman tavsiyesi istesem.


Kardeş C ile C++ ayrı düşünmek imkansız.C öğrenirsin daha sonra üzerine nesne tabanlı programlama katarsın olur sana C++.
Sadece C bilgilerini kullnarak da windows tabanlı programlar yazabilirsin.
Sana önereciğim bir kaynak:www.tr3d.com


Bu mesaja 1 cevap geldi.
B
17 yıl
Yarbay

arkadaşım cevabın için teşekkürler şimdi ben C mi C++ derken yani nesneye yönelik programlama benim için ne kadar gerekli onu sormak istemiştim. Birde windowstan çok linux tabanlı çalışmak istiyorum.verdiğin siteye baktım ama Visual C++ ile görsel programlama için döküman var başka bulamadım maalesef


Bu mesaja 1 cevap geldi.
S
17 yıl
Binbaşı
Konu Sahibi

quote:

Orjinalden alıntı: i have a dream

arkadaşım cevabın için teşekkürler şimdi ben C mi C++ derken yani nesneye yönelik programlama benim için ne kadar gerekli onu sormak istemiştim. Birde windowstan çok linux tabanlı çalışmak istiyorum.verdiğin siteye baktım ama Visual C++ ile görsel programlama için döküman var başka bulamadım maalesef

PM attım



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.