Shellexecute

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Shellexecute

Mesaj gönderen Laz61 »

slm. aleyküm

Shellexecute'de unicode sorununu nasil cözebilirim. Dosya uzantisini unicode karakterleriyle kaydettigimde, dosyayi acmiyor.
Veya baska bir yöntem ne olabilir.

Tsk. ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Shellexecute

Mesaj gönderen SimaWB »

ShellExecute'un unicode desteklisi: ShellExecuteW
Alternatif: CreateProcess
There's no place like 127.0.0.1
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Shellexecute

Mesaj gönderen Laz61 »

slm. aleyküm

SimaWB ilgin icin tesekkür.
Söz konusu ettigin Create ve Shell ile bir türlü calistiramadim. Bildigin bir örnek varsa memnun olurum.
Türkce malum karakterlerle kaydettigimde calismiyor.

tsk. ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Shellexecute

Mesaj gönderen SimaWB »

a.s.
Bahsettiğiniz dosyalar bilgisayarda çift tıklayınca otomatik çalışan dosyalar değil mi? Yani bu dosyaların hangi programla açılacağı sistem tarafından biliniyor mu? Otomatik açılmıyorlarsa zaten ShellExecute vs. çalıştırmaz onları.
Eğer bu konuda sıkıntı yoksa bir de ShellExecute ile dönen değeri kontrol edebilirsin:

Kod: Tümünü seç

if ShellExecute(0, nil, PChar('c:\test.exe'), nil, nil, SW_SHOW) <= 32 then
   ShowMessage(SysErrorMessage(GetLastError));
gibi
There's no place like 127.0.0.1
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Shellexecute

Mesaj gönderen Laz61 »

slm. aleyküm

SimaWB tsk. edrim.
Sorunu anlatamadim galiba.
Shellexecute kaydedilen dosyanın isminde, örnek:''ığş.rtf'' bu harflerden birisi olduğunda çalıştırmıyor. Bu harfler olmadığında sorun yok.
Yani unicode karakterlerinde sorun çıkartıyor. Yurtdışında olduğum için sistemin fontu Almancaya ayarlı.

Tsk. ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Shellexecute

Mesaj gönderen SimaWB »

"sorun çıkıyor" ?
ShellExecuteW işinizi görmesi lazım ama dediğim gibi dönen hata mesajını kontrol edin.

Kod: Tümünü seç

if ShellExecuteW(0, 'open', PWideChar('c:\test.exe'), '', '', SW_SHOW) <= 32 then
   ShowMessage(SysErrorMessage(GetLastError));
There's no place like 127.0.0.1
Cevapla