dokunmatik ekran text input

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: dokunmatik ekran text input

Mesaj gönderen tuna »

Özelden Gönderirseniz çok memnun olurum.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: dokunmatik ekran text input

Mesaj gönderen erdogan_ozkaya »

attım mailine bak
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: dokunmatik ekran text input

Mesaj gönderen adelphiforumz »

Selamlar

Yeni bir konu açmak istemedim.
ilaveten sormak istediğim. Windowsun kendi sanal klavyesini delphi içerisinden nasıl kullanabilirim.
Yazdığım kod XP, Win7 altında çalışırken Win10 altında çalışmıyor.

aşağıdaki kodu denediğimde "Could not Trat on-Screen Keybord." şeklinde bir hata alıyorum.
Bu hatayı araştırdığımda çıkan örneklerin neredeyse hepsini denedim fakat sonuç istediğim gibi olmuyor.
Bu konuda yardımcı olabilecek arkadaşlara teşekkürler.

Kod: Tümünü seç

procedure TFrmMain.sBitBtn2Click(Sender: TObject);
  function System32: string;
    var
    SysDir: PChar;
  begin
      SysDir := StrAlloc(MAX_PATH);
      GetSystemDirectory(SysDir, MAX_PATH);
      Result := string(SysDir);
      if Result[Length(Result)] <> '\' then
      Result := Result + '\';
      StrDispose(SysDir);
  end;
begin
    shellexecute(0,'open', PWideChar(system32+'osk.exe'),0,0,0);
end;

Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: dokunmatik ekran text input

Mesaj gönderen ertank »

Mehaba,

Öncelikle ShellExecute yerine ShellExecuteEx kullanarak hata kodunu öğrenmek bu gibi sorunların çözümünde oldukça faydalı olur.

osk.exe ile ilgili birkaç noktaya dikkat etmeniz gerekiyor.
1- UAC kontrolüne tabidir. Eğer çalıştırmak istediğiniz bilgisayarda UAC kapalı ise sorun yaşayabilirsiniz.
2- Uygulamanız 32bit, işletim sistemi 64bit ise birkaç noktaya daha dikkat etmek gerekiyor.
a- 32bit uygulama 32bit işletim sistemi üzerinde sizin kullandığınız yöntem ile osk.exe çalıştırılabilir.
b- 64bit uygulama 64bit işletim sistemi üzerinde sizin kullandığınız yöntem ile osk.exe çalıştırılabilir.
c- 32bit uygulama 64bit işletim sistemi üzerinde ise sizin uygulamanızın başka bir 64bit uygulamayı çalıştırması ve bu uygulamanın da osk.exe uygulamasını çalıştırması gerekmektedir.

Eğer C maddesi sizin için geçerli ise ve Delphi ile 64bit uygulama geliştiremiyor iseniz aşağıdaki C++ kodunu derleyip EXE dosyanız ile birlikte kullanmanız gerekecektir.

Kod: Tümünü seç

#include <Windows.h>
#include <Shellapi.h>

int CALLBACK WinMain(
  HINSTANCE hInstance,
  HINSTANCE hPrevInstance,
  LPSTR lpCmdLine,
  int nCmdShow
)
{
    SHELLEXECUTEINFOW sei = { sizeof(sei) };
    sei.lpVerb = L"open";
    sei.lpFile = L"osk.exe";
    sei.nShow = SW_SHOW;
    ShellExecuteExW(&sei);
}
Kaynak:http://stackoverflow.com/questions/2311 ... s-on-win64
Cevapla