Delphi Can

Orjinalini görmek için tıklayınız: Undocumented FrostCrashedWindow
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Malum bu ara Undocumented(belgelenmemiş) api'lerle haşır neşiriz.Bu sebeple birini paylaşmak istedim.
Hesap makinesini (yada istediğiniz bir pencereyi) açın.Sonra aşağıdaki kodları çalıştırın ve pencereye bakın,tanıdık bir durum göreceksiniz.Api Parametre olarak Handle'ni aldığı pencereyi donduruyor, ulaşılamaz hale getiriyor. Windows'ta klasik yanıt vermeyen pencere görüntüsü oluşuyor. Tabiki normalde Windows bu Api'yi, -Api'nin adındaki crashed'dan da anlaşılacağı gibi- çökmüş pencereler için kullanıyor.
program Project21;

{$APPTYPE CONSOLE}

{$R *.res}

uses
 System.SysUtils,Winapi.Windows;
var
wnd,ret : HWND;
dll : HMODULE ;
f1 : function(wnd:Hwnd;pr:HWND):HWND;stdcall;
begin

 wnd:= FindWindow(0,'Hesap Makinesi');  //formun texti
dll:= LoadLibrary('user32.dll');
f1 := GetProcAddress(dll, 'FrostCrashedWindow');
ret:= f1(wnd, 0);
  if (ret<>0) then  Writeln('Başarılı');

FreeLibrary(dll);
 readln;

end.
Windows 10 x64 Türkçe sistemde hesap makinası açıkken çalıştırınca bende ki denemede tepki vermedi.
(05-10-2017, Saat: 19:57)savasabd Adlı Kullanıcıdan Alıntı: [ -> ]Malum bu ara Undocumented apilerle haşır neşiriz.Bu sebeple birini paylaşmak istedim.
Hesap makinesini (yada istediğiniz bir pencereyi) açın.Sonra aşağıdaki kodları çalıştırın ve pencereye bakın,tanıdık bir durum göreceksiniz.
program Project21;

{$APPTYPE CONSOLE}

{$R *.res}

uses
 System.SysUtils,Winapi.Windows;
var
wnd,ret : HWND;
dll : HMODULE ;
f1 : function(wnd:Hwnd;pr:HWND):HWND;stdcall;
begin

 wnd:= FindWindow(0,'Hesap Makinesi');  //formun texti
dll:= LoadLibrary('user32.dll');
f1 := GetProcAddress(dll, 'FrostCrashedWindow');
ret:= f1(wnd, 0);
  if (ret<>0) then  Writeln('Başarılı');

FreeLibrary(dll);
 readln;

end.

Teşekkür ederim, kod paylaşmışsınız ama; paylaştığınız kodu denemeden ilgili API'nin ne işe yaradığını da izah ederseniz daha faydalı olacaktır Wink
(05-10-2017, Saat: 19:57)savasabd Adlı Kullanıcıdan Alıntı: [ -> ]Malum bu ara Undocumented apilerle haşır neşiriz.Bu sebeple birini paylaşmak istedim.
Hesap makinesini (yada istediğiniz bir pencereyi) açın.Sonra aşağıdaki kodları çalıştırın ve pencereye bakın,tanıdık bir durum göreceksiniz.
program Project21;

{$APPTYPE CONSOLE}

{$R *.res}

uses
 System.SysUtils,Winapi.Windows;
var
wnd,ret : HWND;
dll : HMODULE ;
f1 : function(wnd:Hwnd;pr:HWND):HWND;stdcall;
begin

 wnd:= FindWindow(0,'Hesap Makinesi');  //formun texti
dll:= LoadLibrary('user32.dll');
f1 := GetProcAddress(dll, 'FrostCrashedWindow');
ret:= f1(wnd, 0);
  if (ret<>0) then  Writeln('Başarılı');

FreeLibrary(dll);
 readln;

end.

Ekran görüntüsü var mı? Smile
(05-10-2017, Saat: 21:02)frmman Adlı Kullanıcıdan Alıntı: [ -> ]Windows 10 x64  Türkçe sistemde hesap makinası açıkken çalıştırınca bende ki denemede tepki vermedi.

Hocam,microsoft belgelediği apinin geriye uymlulugunu sürdürürken belgelenmemiş apilleri istedigi gibi kaldırabiliyor,yada yerini değiştirebiliyor.Kullanmanın sakıncalarından biri de bu.Ben 7'de denedim çalışıyor.

(05-10-2017, Saat: 23:39)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: [ -> ]Teşekkür ederim, kod paylaşmışsınız ama; paylaştığınız kodu denemeden ilgili API'nin ne işe yaradığını da izah ederseniz daha faydalı olacaktır Wink
Hocam, Api Parametre olarak Handle'ni aldığı pencereyi donduruyor, ulaşılamaz hale getiriyor. Windows'ta klasik yanıt vermeyen pencere görüntüsü oluşuyor. Tabiki normalde Windows bu Api'yi, -Api'nin adındaki crashed'dan da anlaşılacağı gibi- çökmüş pencereler için kullanıyor.

(06-10-2017, Saat: 00:28)pro_imaj Adlı Kullanıcıdan Alıntı: [ -> ]Ekran görüntüsü var mı? Smile
Yukarda açıkladım ama istiyorsanız akşama görüntü atayım.Smile
SS isteriz Smile
Burayı ve burayı da inceleyelim madem Wink