Şimdi Ara

[VB] FindWindow Örnek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
0
Favori
1.219
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selamlar, yıllardır uğraştığım ve biçok program yazdığım delphi'de kolaylıkla yapabiliyodum ancak şu son zamanlarımda Visual Basic öğrenmek isteyip Visual Basic 2008 Express indirip başladım ancak haliyle deişik geldi :)

    Sorunum şu ki Findwindow komutu ile açık olan pencerelerden başlığında "not defteri" geçen programa WM_QUIT yollayıp kapatmak istiyorum. bunu en basit nasıl yapabilirim?

    Programımda 1 tane tuş koyduğumu varsayıp o tuşa yazılıcak komutu yazarsanız sevinirim.. bulduğum örneklerle gittiğim kadarıyla bunu sorunsuz çalıştırıyorum fakat "HATA" mesajı çıkıo karşıma yani işe yaramıo :) nerde yanlış yapıyorum tavsiyede bulunursanız sevinirim teşekkürler.. :)

    Dim sTitle As String
    Dim iHwnd As Integer
    Dim ihTask As Integer
    Dim iReturn As Integer
    'Dim asd, asdd() As Process

    Try
    iHwnd = FindWindow(vbNullString, "Not defteri")
    MsgBox("Kapandi")
    iReturn = PostMessage(iHwnd, WM_QUIT, 0, 0&)
    Catch ex As Exception
    MsgBox("HATA")
    End Try







  • kullanacagin native dll in fonksiyonunu tanimlaman gerekli,

    Find Window Icin:
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Post message Icin:
    Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  • evet bunları programda en üste yazdım zaten yazmasaydım findwindow ve postmessage çalışmazdı.. ancak komutlarımda bi sorunum yok.. sorunum;

    iHwnd = FindWindow(vbNullString, "Not defteri")
    MsgBox("Kapandi")
    iReturn = PostMessage(iHwnd, WM_QUIT, 0, 0&)

    bunun çalışmaması.. yani hiçbi işe yaramaması.. sorun bu :) bi tane örnek program yazarmısınız rica etsem? findwindow ve postmessage kullanarak notdeferini kapatsın.. teşekkürler..
  • Bilgisayarimda VB.NET Yuklu Degil Fakat

    Sorunun $u Arkada$im:
    iHwnd = FindWindow(vbNullString, "Not defteri")

    Burda "Not Defteri" Yerine "Adsız - Not Defteri"

    Yazmalisin, Yoksa FindWindow Hicbir handle Bulamaz ve 0 Handle ina WM_QUIT yollar.
  • Ayrica Bir Oneri, .NET Dillerinden Biri ile Ba$layacaksaniz BU C# Olsun.
  • yok ya.. bu kodlar olmuo.. adısz - not defteri denedim.. hatta asdf diye klasör oluşturup onu açtım pencere olarak yine bulamadı kapatamadı falan.. hep hatayla dönüyo.. delphide ne kolaydı halbuki ya.. ilginç cidden.. başka bir tavsiyen varmı bu konu hakkında?

    ayrıca ewt başlamadan önce araştırmıştım C'nin güçlü olduunun ve tavsiye edildiine ulaşmıştım ama basic daha kolaydır diye onunla başlamak için hareketlendim :) yani pekte ilerlediim sölenemez.. hiç daha fazla zaman kaybetmeden c# mı geçsem direk?

    örneğin şu yapmaya çalıştığımı onda daha kolaylkla yapabilir miyim? hani en azından google arattıımda ulşabileceğim örnekler dahamı afzladır c#'de?
  • quote:

    Orjinalden alıntı: who

    yok ya.. bu kodlar olmuo.. adısz - not defteri denedim.. hatta asdf diye klasör oluşturup onu açtım pencere olarak yine bulamadı kapatamadı falan.. hep hatayla dönüyo.. delphide ne kolaydı halbuki ya.. ilginç cidden.. başka bir tavsiyen varmı bu konu hakkında?

    ayrıca ewt başlamadan önce araştırmıştım C'nin güçlü olduunun ve tavsiye edildiine ulaşmıştım ama basic daha kolaydır diye onunla başlamak için hareketlendim :) yani pekte ilerlediim sölenemez.. hiç daha fazla zaman kaybetmeden c# mı geçsem direk?

    örneğin şu yapmaya çalıştığımı onda daha kolaylkla yapabilir miyim? hani en azından google arattıımda ulşabileceğim örnekler dahamı afzladır c#'de?


    C# Yazili$ Bakimindan Cok Kolayliklar Saglar Sana, Mesela VB Deki

    Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

    Bu Karma$ik yazili$i

    [DllImport("user32.dll")]
    public static extern int PostMessage(IntPtr hwnd, int Message, int wParam, int lParam);

    $eklinde Duzgun Bi $ekilde Yazabilirsin.

    Ayrica Bu Konu hakkindaki Onerim $udur,
    PostMessage yerine
    SendMessage Dene

    Ayrica Bi Constant Tanimi Yapman Gerek Oda $udur:

    const int WM_QUIT = 0x12




  • Yapay Zeka’dan İlgili Konular
    c++ örnekleri
    19 yıl önce açıldı
    Daha Fazla Göster
  • yok dostum.. yine sorunlar falan çıktı olmadı vesaire.. neyse hiç bu kadar uğraşmamıştım vazgeçtim ben.. tşkler yinede :) C# deneyeyim birazda.. olmadı yine delphime döneyim :) iyi günler.. tşkler tekrardan..
  • Cok Cabuk Pes Ediyosun :)
    Al Sana Bi Class, Denedim Cali$iyor ;)

     
    class FindAndDestroy
    {
    public const int WM_COMMAND = 0x0112;
    public const int WM_CLOSE = 0xF060;

    [DllImport("user32.dll")]
    private static extern IntPtr FindWindow(string ClassName, string WindowName);

    [DllImport("user32.dll")]
    private static extern int SendMessage(IntPtr handle, int Message, int lParam, int wParam);

    IntPtr Handle = IntPtr.Zero;

    public FindAndDestroy()
    {
    Handle = FindWindow("Notepad", "Untitled - Notepad");
    SendMessage(Handle, WM_COMMAND, WM_CLOSE, 0);
    }
    }
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.