• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Java Program Açık mı?

  • Konbuyu başlatan Konbuyu başlatan askm
  • Başlangıç tarihi Başlangıç tarihi

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Hayırlı akşamlar.
Bilgisayarda çalışan programlar arasında java programı açık mı? Açık ise bu programda örneğin CTRL+A yapmak istiyorum. Bu mümkün mü?
 
Excel haricinde, Autoit programını inceleyiniz.
windows ontop , active windows ve sendkey i inceleyiniz.
 
Programın açık olması yeterli değil. Ekranda en üstte ve aktif olması önemli. Bu durumda iken gönderdiğiniz tuş bilgisinin istediğiniz programa gittiğinden emin olursunuz.

Bunu da autoit çok kolay bir şekilde yapar.
 
Asri Bey ek program kurma imkanı yok maalesef. Amacım dys sisteminde enter yaptırabilmek. Örneğin 10 kere enter gibi. Farklı program olunca yapılabiliyor ama java farklı.
 
Enter yapılacak ekran görüntüsü gönderebilir misiniz.
 
Ekli dosyada derlenmiş program, kaynak kod ve ayarlar.ini dosyası mevcut.
Derlenmiş programın kurulum gerektirmiyor.

ayarlar.ini dosyasında aktif ekran yapmak istediğiniz ekranın pencere adınını bir bölümünü girin.
Ben örnek olarak Not Defterinde Adsız bilgisini girdim.

Programı ekranı en üstte kalacak şekilde aktif edecek ve birer sn aralıklar ile 10 enter yapacaktır.
.jar lı bir programda da denedim. Onuda ekranda en üste getirdi ve 10 enter yaptı.

Derlenmiş programı kullanmak istemezseniz kodlar aşağıdadır. Kendiniz uygun bir pc de derleyebilirsiniz.

Kod:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=glossy-3d-blue-orbs2-111.ico
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <AutoItConstants.au3>

;#include <AutoItConstants.au3>
Global $baslik
If not FileExists(@ScriptDir & "\ayarlar.ini") Then
        IniWrite("ayarlar.ini","Ayarlar","Aktif edilecek pencerenin adını yazınız. Bir kısmıda yazılabilir.","Adsız")
EndIf

$baslik=IniRead("ayarlar.ini","Ayarlar","Aktif edilecek pencerenin adını yazınız. Bir kısmıda yazılabilir.","Adsız")

Opt("TrayMenuMode",3)
Opt("TrayAutoPause", 0)

Opt('TrayIconDebug', 1)
Opt("WinTitleMatchMode", 2)
Local $hwnd = WinActivate($baslik,"")
WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)
sleep(100)
If WinActive($hWnd) Then
    for $i=1 to 10
       Local $hwnd = WinActivate($baslik,"")
       WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)
       Send("{ENTER}")
       sleep(1000)
    next
EndIf
WinSetOnTop($hWnd, "", $WINDOWS_NOONTOP)
 

Ekli dosyalar

Sayın Asri teşekkür ederim. Yarın deneyebilirim. Deneyince yazarım. Tekrar teşekkürler.
 
SendKeys metodu çok güvenilir olmamakla birlikte, Excel'de AppActivate metodu ile birlikte kullanarak bir alternatif oluşturulabilir.

Mevcut durumda; bilgisayarda aynı anda Excel, Excel-VBE, Notepad, Word ve PowerPoint açık durumdayken Excel'de yazılan aşağıdaki kod mevcut 5 adet açık pencere arasından Notepad penceresini en öne getirip, "Test" ifadesini yazar.

Koddaki "Untitled - Notepad" ifadesi, en öne getirilmeye çalışılan Notepad'e ait pencerenin başlık çubuğundaki yazılı metindir. (Bir kısmı da yazılabilir...)

Kod:
Sub Test()
    AppActivate "Untitled - Notepad", True
    SendKeys "Test"
End Sub

.
 
Haluk bey,

Pencere minimize durumunda ise aktif edemiyor.
İznizle kodu aşağıdaki şekilde güncelliyorum.

Kod:
Sub Test()
    AppActivate "Belge1", True
    Application.SendKeys ("% n")
    SendKeys "Test"
End Sub
 
Asri Bey;

Ben tüm pencerelerin normal boyutlarda ekranda olduğunu kabul etmiştim.

Diğer yandan, benim kullandığım Windows ve Excel versiyonunda;

Sizin önerinizdeki "% n" pencereyi minimize eder, ama mevcutta minimize edilmiş bir pencereyi ekrana getirmek istiyorsak, "% r" kullanabiliriz.

Selamlar...

.
 
Asri Bey;

Ben tüm pencerelerin normal boyutlarda ekranda olduğunu kabul etmiştim.

Diğer yandan, benim kullandığım Windows ve Excel versiyonunda;

Sizin önerinizdeki "% n" pencereyi minimize eder, ama mevcutta minimize edilmiş bir pencereyi ekrana getirmek istiyorsak, "% r" kullanabiliriz.

Selamlar...

.

Haluk bey,
Anladığım kadarı ile versiyona göre değişiyor . Ben test ettiğimde minimize durumda sendkey bilgi göndermiyordu.
Bu şekilde denediğimde ekrana alıp bilgi gönderdi. Bu yüzden bildirme gereği duydum.

Bilgilendirme için teşekkür ederim.

Saygılarımla.
 
Haluk bey,
Anladığım kadarı ile versiyona göre değişiyor . Ben test ettiğimde minimize durumda sendkey bilgi göndermiyordu.
Bu şekilde denediğimde ekrana alıp bilgi gönderdi. Bu yüzden bildirme gereği duydum.

Bilgilendirme için teşekkür ederim.

Saygılarımla.

Asri Bey, merak ettim....

Herhangi bir pencere aktifken (Chrome, Fire Fox, Word, Excel, Notepad....) klavyeden Alt+SpaceBar+n tuşlayınca sizde ne oluyor?

.
 
Asri Bey, merak ettim....

Herhangi bir pencere aktifken (Chrome, Fire Fox, Word, Excel, Notepad....) klavyeden Alt+SpaceBar+n tuşlayınca sizde ne oluyor?

.

Tam ekran olmadan önceki ekran boyutuna geçiyor.
 
Windows Türkçe mi sizde ?

.
 
Mesele çözüldü o zaman ....

Sistem nenüsündeki kısayolların adından kaynaklanıyor.

İngilizce Windows versiyonundaki % r (restore) karşılığı Türkçe Windows için % n

Sizin Türkçe versiyondaki Sistem Menüsünde , aşağıdaki resimde işaretlediğim yerde muhtemelen Normal falan gibi "N" harfi ile başlayan bir şey var sanırım ....

.

Untitled.png
 
Evet Önceki olarak yazıyor.

alt.jpg
 
Tamamdır Asri Bey, teşekkürler.....

.
 
Birşey daha öğrenmiş olduk. Ben teşekkür ederim.
İyi çalışmalar.
 
Geri
Üst