Ana formun .dpr kısmında application.run'dan önce application.MainFormOnTaskBar=False; yaparak formun ilk çalışma anında ekrana gelmemesini sağlıyorum ancak form seçili olmadığı, gözükmediği için normalde görünür ve seçili olduğu durumda çalışan kodları klavyeye atadığım çalışmasını istediğim kodları bu haldeyken çalıştıramıyorum. Form gizli durumda iken klavyeden örneğin ctrl+y yaparak form2'yi gösterebilir miyim?
Delphi Form Seçili Değilken
Cevaplar
Form gizliyken Form üzerinde herhangi bir işlem yapamazsın, atayacağın kısayollar da Windows üzerinde çalışır.
Formu saklamak yerine visible:=No özelliği ile çalışmanı tavsiye ederim. Müsait olursam sana kodları da gönderirim.
Formu saklamak yerine visible:=No özelliği ile çalışmanı tavsiye ederim. Müsait olursam sana kodları da gönderirim.
form event activate kısmında form1.visible:=false kabul etmiyor create kısmında gizlemedi. Birde görev çubuğunda gözükmemesi için formu gizlemiştim.
Aşağıdaki şekilde yapmayı denedin mi?
{
Use the ShowMainForm property to control whether the application
shows its main form on startup.
}
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas'; {Form1}
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := False;
Application.Run;
end.
{
Use the ShowMainForm property to control whether the application
shows its main form on startup.
}
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas'; {Form1}
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := False;
Application.Run;
end.
ilk olarak öyle yaptım, siz visible değeriyle denemem gerektiğini bahsedince değiştirdim. İlk anda formum dediğiniz kodlarla gizleniyor. Ama klavyeden tetikleme veremiyorum.evowinds dedi: ↑Aşağıdaki şekilde yapmayı denedin mi?
{
Use the ShowMainForm property to control whether the application
shows its main form on startup.
}
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas'; {Form1}
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := False;
Application.Run;
end.
Olmadı Formun Transparent özelliği ile oyna. Formu görünmez yaparsın ama form açık durur.
AlphaBlend property'sini True yapıp, AlphaBlendValue değeri ile oynayarak saydam etkisi verebilirsin.
Bir de kısayolların çalışması için formun aktif olması gerekecektir. Çok elzem değilse uğraşma...
AlphaBlend property'sini True yapıp, AlphaBlendValue değeri ile oynayarak saydam etkisi verebilirsin.
Bir de kısayolların çalışması için formun aktif olması gerekecektir. Çok elzem değilse uğraşma...
Dediğiniz gibi başka pratik çözümlere bakayım :). Teşekkürler.evowinds dedi: ↑Olmadı Formun Transparent özelliği ile oyna. Formu görünmez yaparsın ama form açık durur.
AlphaBlend property'sini True yapıp, AlphaBlendValue değeri ile oynayarak saydam etkisi verebilirsin.
Bir de kısayolların çalışması için formun aktif olması gerekecektir. Çok elzem değilse uğraşma...
formun create olayına değil de show olayına yazmayı deneyebilirsin.
bu arada form gizli değilken tuşa basılmayı algılatabiliyor musun?
bu arada form gizli değilken tuşa basılmayı algılatabiliyor musun?
Formshow olayında da form1.visible:=false yazdığımda da aşağıdaki hatayı aldım.Champion78 dedi: ↑formun create olayına değil de show olayına yazmayı deneyebilirsin.
bu arada form gizli değilken tuşa basılmayı algılatabiliyor musun?

form görünürken tuşları algılıyor keypreview açık.
Windows ortamından mesajları yakalaman lazım. Yani bir nevi keylogger.