Evet bi tane program var shellexecute le veya winexec yle çalışmıyor açıldığında form çıkmadan hata veriyor ve kapanıyor. ama windows explorer ile klasörden açtığım zaman açılıyor.
sw_show shownormal neredeyse hepsini denedim olmadı yardım ederseniz sevinirim.
ShellExecute ve WinExec çalışmıyor [FARKLI]
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
s.a.
verdiği hata mesajı anlamlı bir mesaj mı?
belki programın parametre ile çalışması gerekiyordur.
çalıştırmaya çalıştığınız programı görmeden bişey demek biraz zor gibi görünüyor.
kolay gelsin.
verdiği hata mesajı anlamlı bir mesaj mı?
belki programın parametre ile çalışması gerekiyordur.
çalıştırmaya çalıştığınız programı görmeden bişey demek biraz zor gibi görünüyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: ShellExecute ve WinExec çalışmıyor [FARKLI]
bazı programlar açılıştışta exe adını komut satırını parametreleri kontrol edip otomatik çıkış yapabilirler.Jire yazdı:Evet bi tane program var shellexecute le veya winexec yle çalışmıyor açıldığında form çıkmadan hata veriyor ve kapanıyor. ama windows explorer ile klasörden açtığım zaman açılıyor.
sw_show shownormal neredeyse hepsini denedim olmadı yardım ederseniz sevinirim.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
ShellExecute ile çalıştırmanı ve çalışma klasörü olarak programın bulunduğu yolu ayrıca vermen gerekiyor olabilir. Benzeri bir iş için yazdığım kod vardı.Bunu Calistir('c:\dene.exe'); gibi bir kodla çalıştırmayı dene.
Kod: Tümünü seç
function Calistir(const DosyaAdi: String;const Param:String='';WorkDir:String=''): DWord;
var _param,_workdir:PChar;
begin
if Trim(Param)='' then _param:=nil else _param:=PChar(Param);
if Trim(Workdir)='' then begin
if DirectoryExists(DosyaAdi) then WorkDir:=DosyaAdi
else WorkDir:=ExtractFilePath(DosyaAdi);
end;
_workdir:=PChar(WorkDir);
if Trim(DosyaAdi)<>'' then
Result:=ShellExecute(Application.Handle, 'open', PChar(DosyaAdi), _param, _workdir, SW_NORMAL);
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Bir ekleme de benden: Parametre olarak geçtiğiniz yol içerisindeki boşluk karakterleri (örneğin C:\ProgramFiles\ içerisindeki boşluk karakteri de bir takım sorunlara yol açabiliyor.
Bir de benim kişisel tecrübemde, eğer ShellExecute'a parametre olarak geçilen handle eğer bir form handle'ı değilse de sorun oluyor.
Örneğin ShellExecute'ı bir kanal (thread) içerisinden çağırısanız ve kanal'ın handle'ını parametre olarak geçerseniz çalışmama ihtimali çok yüksek.
Saygılar ve Başarılar
Bir de benim kişisel tecrübemde, eğer ShellExecute'a parametre olarak geçilen handle eğer bir form handle'ı değilse de sorun oluyor.
Örneğin ShellExecute'ı bir kanal (thread) içerisinden çağırısanız ve kanal'ın handle'ını parametre olarak geçerseniz çalışmama ihtimali çok yüksek.
Saygılar ve Başarılar