HoşGeldin Ziyretçi, Lütfen Giriş Yap ya da Üye Ol
Ip Adresiniz: 38.107.179.240
Username:
Password:

Sayfa: [1]   Aşağı git
Bu Konuyu Gönder Yazdır
Gönderen Konu: Delphİ Api Kodlari  (Okunma Sayısı 367 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
BaLıM'in HacKbanK Bilgileri
BaLıM
αşıк α∂мιηє
ωєвмαѕтєя üує
*


HacKbanK lıya Ozgu Mesajı αşıк α∂мιηє

Cinsiyeti Bayan
Uye Numarası (ID) 4
HacKbanK a Kayıt Tarihi Temmuz 13, 2007, 08:37:27 ÖS
Nerden Çıkarıyorsunuz Bunları???
HacKbanKlının Yası: 34
HacKbanK taki Mesaj Sayısı 6821
HacKbanK Rep Puanı
Rep Puanı: 7126
Deneyimleri

Aktiflik

Deneyim
Seviye
HıyarlıK
HacKbanK Tecrubeleri

Paylasım

Guc/Power
Ukalalık
Tehlike Duzeyi
Iletisim Bilgileri
Üyelik Bilgileri Site Çevrimdışı Ruh Halim:
« : Temmuz 15, 2007, 07:56:14 ÖS »

Belgeler menüsüne bir dosya ekleme
Belgeler menüsünü temizleme
Duvar kağıdını değiştirmek
Başlat butonunu gizlemek veya kullanılmaz hale getirmek
Bir programın çalıştırılması
Harddiskin seri numarasının bulunması
Windows ve System klasörlerinin bulunması
Windows lisans bilgilerinin (isim ve şirket) bulunması
Speakerdan Beep sesi çıkartma
Bir Denetim Masası uygulamasını çalıştırmak
Windows'u kapatmak veya yeniden başlatmak(reboot)
Ekran koruyucusunu kapatmak ve açmak
Ekran kartım kaç rengi destekliyor
Windows Gezginini istediğiniz bir klasörle açma
Windows'un Bul (Find File) diyalog penceresini istediğiniz bir klasörle açma
Pencerenin kapatma düğmesini etkisiz hale getirme
Uygulamam Windows her açıldığında otomatik çalışsın
Klasöre Gözat diyalogunu kullanarak bir klasörü seçme
Bir web adresini açma
Bir DOS programını çalıştırma ve çalışması bitince penceresini kapatma
Alt + Tab ve Ctrl + Esc tuşlarının kullanılmaz hale getirilmesi
Bir menü öğesine resim ekleme
Ağ ortamında makinenin ismini bulma
Ağ ortamında login olmuş kullanıcı ismini bulma
Ekran çözünürlüğünü nasıl öğrenirim
Taskbar'ın (Görev çubuğu) AutoHide özelliği açık mı, kapalı mı?
Programım biraz beklesin
Caps lock tuşu açık mı, kapalı mı?
İmleci (cursor) gizleyip, tekrar gösterme
Ekran görüntüsünü alın
Map Network Drive diyalogunu açma
Bir dosyayı bağlantılı olduğu uygulama ile açma
Temp klasörünü bulma
Ekran koruyucuyu çalıştırmak
Güç koruma modunda (Power Safe Mode) çalışan monitörü kapatıp açma
Windows Tarih/Saat Özellikleri (Date/Time Properties) iletişim kutusunu açma
Windows'ta yüklü bulunan yazıcıları listeleme
Programımın Windows NT'de çalıştığını nasıl tespit ederim
Windows oturumunu kapatma (log off)
CPU tipini nasıl tespit ederim
Bir klasördeki tüm dosyaları silme
Windows NT/2000/XP'yi Kapatmak
*.wav (ses) dosyalarını çaldırmak
Programımın simgesi Tray'de (saatin yanında) gözüksün
Programım Windows 2000/Xp'de düzgün çalışıyor, Win9x'te TComboBox bileşeninde xxx.Items.String EReadError veriyor
Başka bir uygulamayı kapatmak
CD'nin takılıp çıkarıldığından haberdar olma
Sürücü (drive) tipini belirlemek
Bir fontu (.ttf) Windows'a kurmadan uygulamanızda kullanma
Bir Klasördeki Dosyaları Başka Bir Klasöre Kopyalama
Windows'un Özel Klasörlerini Açma

Belgeler menüsüne bir dosya ekleme
uses kısmına ShlOBJ unitini ekleyin;
procedure TForm1.Button1Click(Sender: TObject);
var
s : string;
begin
s := 'C:\DownLoad\deneme.html';
SHAddToRecentDocs(SHARD_PATH, pChar(s));
end;

Belgeler menüsünü temizleme
uses kısmına ShlOBJ unitini ekleyin;
SHAddToRecentDocs(SHARD_PATH, nil);

Duvar kağıdını değiştirmek
var
s: string;
begin
s := 'c:\windows\cars.bmp';
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(s),0);

Başlat butonunu gizlemek veya kullanılmaz hale getirmek
procedure TForm1.Button1Click(Sender: TObject);
var
Rgn : hRgn;
begin
// Başlat butonunu gizle
Rgn := CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWn d', nil),
0,
'Button',
nil),
Rgn,
true);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//Gizlenen Başlat butonunu eski haline döndürmek için
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWn d', nil),
0,
'Button',
nil),
0,
true);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
//Başlat butonunu kullanılmaz yap
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d', nil),
0,
'Button',
nil),
false);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
//Kullanılmaz yapılan Başlat butonunu eski haline getirmek için
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d', nil),
0,
'Button',
nil),
true);
end;

Bir programın çalıştırılması
WinExec('c:\windows\calc.exe',sw_show);
WinExec('C:\WINDOWS\NOTEPAD.EXE C:\WINDOWS\WIN.INI', SW_SHOWNORMAL);
WinExec('COMMAND.COM', SW_SHOWNORMAL);
WinExec('COMMAND.COM /C DIR *.*', SW_SHOWNORMAL);

Harddiskin seri numarasının bulunması
procedure TForm1.Button1Click(Sender: TObject);
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
GetVolumeInformation('C:\',
nil,
0,
@VolumeSerialNumber,
MaximumComponentLength,
FileSystemFlags,
nil,
0);
SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' +
IntToHex(LoWord(VolumeSerialNumber), 4);
Memo1.Lines.Add(SerialNumber);
end;

Windows ve System klasörlerinin bulunması
procedure TForm1.Button1Click(Sender: TObject);
var
a : Array[0..144] of char;
begin
GetWindowsDirectory(a, sizeof(a));
ShowMessage(StrPas(a));
GetSystemDirectory(a, sizeof(a));
ShowMessage(StrPas(a));
end;

Windows lisans bilgilerinin (isim ve şirket) bulunması
uses kısmına Registry unitini ekleyin;
procedure TForm1.Button1Click(Sender:TObject);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.create('SOFTWARE\MICROSOFT\MS SETUP (ACME)\');
Memo1.Lines.Add(reg.ReadString('USER INFO', 'DefName', 'Mustafa ŞİMŞEK'));
Memo1.Lines.Add(reg.ReadString('USER INFO', 'DefCompany', ''));
reg.free;
end;

Speakerdan Beep sesi çıkartma
MessageBeep(word(-1));

Bir Denetim Masası uygulamasını çalıştırmak
Control Panel uygulamaları Windows\System klasörü altında bulunur. *.CPL uzantılı dosyalardır. Bu uygulamaları Control.Exe programı ile çalıştırabilirsiniz. Bazı Control Panel uygulamaları Windows\System klasöründe bulunmaz. Bunların ismini vererek çalıştırabilirsiniz.
WinExec('C:\WINDOWS\CONTROL.EXE TIMEDATE.CPL', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE MOUSE', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE PRINTERS', sw_ShowNormal);
Windows 9x ve NT'de ortak olarak kullanılan bazı denetim masası uygulamaları
access.cpl:
Erişilebilirlik
appwiz.cpl:
Program ekle/kaldır
desk.cpl:
Görüntü
intl.cpl:
Bölgesel ayarlar
joy.cpl:
Oyun çubuğu
main.cpl:
Fare
mmsys.cpl:
Çoklu ortam
modem.cpl:
Modem
sysdm.cpl:
Sistem
timedate.cpl:
Tarih/Saat

Windows'u kapatmak veya yeniden başlatmak(reboot)
Win9x'te bilgisayarı kapatmak veya yeninden başlatmak için :
ExitWindowsEx(EWX_SHUTDOWN,0); //yeniden başlatmak için EWX_REBOOT

Ekran koruyucusunu kapatmak ve açmak
//kapatmak için
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,
0,
nil,
0);
//açmak için
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,
1,
nil,
0);

Ekran kartım kaç rengi destekliyor
Ekran kartınızın kaç rengi desteklediğini aşağıdaki kodla bulabilirsiniz.
(1 shl (GetDeviceCaps(Form1.Canvas.Handle, BITSPIXEL) *
GetDeviceCaps(Form1.Canvas.Handle, PLANES)));

Windows Gezginini istediğiniz bir klasörle açma
uses kısmına ShellApi unitini ekleyin.
ShellExecute(0,
'explore',
'C:\WINDOWS', //buraya açmak istediğiniz klasörü yazın.
nil,
nil,
SW_SHOWNORMAL);

Windows'un Bul (Find File) diyalog penceresini istediğiniz bir klasörle açma
Windows'ta Başlat->Bul->Dosyalar ve Klasörler ile açtığınız Bul diyalog penceresini Delphi içerisinden hem de istediğiniz yolu vererek çalıştırabilirsiniz.
uses kısmına ddeman unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
begin
with TDDEClientConv.Create(Self) do begin
ConnectMode := ddeManual;
ServiceApplication := 'explorer.exe';
SetLink( 'Folders', 'AppProperties');
OpenLink;
ExecuteMacro('[FindFolder(, C:\DOWNLOAD)]', False); //diyalog açıldığında konum kısmında
CloseLink; //olmasını istediğiniz klasör.
Free;
end;
end;

Pencerenin kapatma düğmesini etkisiz hale getirme
Pencerenin başlık çubuğunda bulunan kapatma düğmesini (X) etkisiz hale getirebilirsiniz. Aynı zamanda sistem menüsündeki Kapat(Close) seçeneğide kaybolur. Bunun için aşağıdaki gibi bir kod yazmalısınız.
procedure TForm1.Button1Click(Sender: TObject);
var
hwndHandle : THANDLE;
hMenuHandle : HMENU;
begin
hwndHandle := FindWindow(nil, 'Form1'); //Form1 pencerenin başlığını göstermektedir.
if (hwndHandle <> 0) then begin //Burayı uygulamanıza göre değiştirin
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
if (hMenuHandle <> 0) then
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
end;
end;

Uygulamam Windows her açıldığında otomatik çalışsın
uses kısmına Registry unitini ekleyin.
{$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}

procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVer sion\Run',false);
reg.WriteString('Uygulamam', uygulamanızın_yolu_ve_adı);
reg.CloseKey;
reg.free;
end;

Klasöre Gözat diyalogunu kullanarak bir klasörü seçme
uses kısmına ShellAPI ve ShlObj unitlerini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'Lütfen bir klasör seçin';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;

Bir web adresini açma
uses kısmına Shellapi unitini ekleyin;
ShellExecute(Handle,
'open',
'
         ',
nil,
nil,
sw_ShowMaximized);

Bir DOS programını çalıştırma ve çalışması bitince penceresini kapatma
WinExec('command.com /c progdos.exe',sw_ShowNormal); //progdos.exe çalıştırılıyor.
(* eğer ikinci paremetreyi sw_Hide yaparsanız kullanıcı programın çalıştığını görmez. *)

Alt + Tab ve Ctrl + Esc tuşlarının kullanılmaz hale getirilmesi
var
OldVal : LongInt;
begin
SystemParametersInfo (97, Word (True), @OldVal, 0)
(* Word(False) ile kullanırsanız tuşları tekrar kullanabilirsiniz. *)

Bir menü öğesine resim ekleme
procedure TForm1.FormCreate(Sender: TObject);
var
Bmp1 : TPicture;
begin
Bmp1 := TPicture.Create;
Bmp1.LoadFromFile('c:\deneme\turkey.bmp');
SetMenuItemBitmaps( deneme1.Handle,
0,
MF_BYPOSITION,
Bmp1.Bitmap.Handle,
Bmp1.Bitmap.Handle);
end;

Ağ ortamında makinenin ismini bulma
procedure TForm1.Button1Click(Sender: TObject);
var
Makine_ismi:array[0..255] of char;
BufferSizeWORD;
begin
BufferSize:=SizeOf(Makine_ismi);
GetComputerName(@Makine_ismi,BufferSize);
Showmessage(Makine_ismi);
end;

Ağ ortamında login olmuş kullanıcı ismini bulma
procedure TForm1.Button1Click(Sender: TObject);
var
Kullanici_ismi:array[0..255] of char;
BufferSizeWORD;
begin
BufferSize:=SizeOf(Kullanici_ismi);
GetUserName(@Kullanici_ismi,BufferSize);
Showmessage(Kullanici_ismi);
end;

Ekran çözünürlüğünü nasıl öğrenirim
Screen.Width //yatay çözünürlük
Screen.Height //dikey çözünürlük
MessageDlg('Şu anda ' + IntToStr( Screen.Width ) +' x '+
IntToStr( Screen.Height )+' çözünürlükte çalışıyorsunuz',
mtInformation, [mbOk], 0 );

Taskbar'ın (Görev çubuğu) AutoHide özelliği açık mı, kapalı mı?
uses kısmına ShellAPI unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
ABData : TAppBarData;
begin
ABData.cbSize := sizeof(ABData);
if (SHAppBarMessage(ABM_GETSTATE, ABData) and ABS_AUTOHIDE) > 0 then
Showmessage('Autohide özelliği açık');
end;

Programım biraz beklesin
Bazı işlemlerden sonra diğer bir işlemi çalıştırmadan önce bir süre beklemek istersiniz. Bu gibi durumlarda Sleep komutunu kullanabilirsiniz. Burada verilen değer milisaniye cinsindendir. (1 saniye=1000 milisaniye)
Sleep(10000) //10 saniye bekler

Caps lock tuşu açık mı, kapalı mı?
if (GetKeyState(VK_CAPITAL) and $01)<>0 then
Showmessage ('caps lock açık');

İmleci (cursor) gizleyip, tekrar gösterme
ShowCursor(False) //imleci gizler
ShowCursor(True) //imleci tekrardan gösterir.

Ekran görüntüsünü alın
procedure TForm1.Button1Click(Sender: TObject);
var
DCDesk: HDC;
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(Form1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);
ReleaseDC(GetDesktopWindow, DCDesk);
end;
Not: Yukarıdaki kod ekran görünütüsünü form üstüne alır. Image bileşeni içine ekran görüntüsünü almak için form üzerine bir image bileşeni yerleştirin ve Form1.Canvas.Handle yerine Image1.Canvas.Handle yazın.

Map Network Drive diyalogunu açma
WNetConnectionDialog ( 0, RESOURCETYPE_DISK );

Bir dosyayı bağlantılı olduğu uygulama ile açma
uses kısmına shellapi unitini ekleyin.
shellexecute(0,'open', 'c:\test\2.avi','','',SW_NORMAL);

Temp klasörünü bulma
procedure TForm1.Button1Click(Sender: TObject);
var
temp_klasor: array[0..MAX_PATH] of char;
begin
GetTempPath(SizeOf(temp_klasor), @temp_klasor);
ShowMessage(temp_klasor);
end;

Ekran koruyucuyu çalıştırmak
PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

Güç koruma modunda (Power Safe Mode) çalışan monitörü kapatıp açma
Monitörü kapatmak için :
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
Monitörü açmak için :
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);

Windows Tarih/Saat Özellikleri (Date/Time Properties) iletişim kutusunu açma
Winexec('Control.exe Date/Time',sw_shownormal);

Windows'ta yüklü bulunan yazıcıları listeleme
uses kısmına printers unitini ekleyin
procedure TForm1.Button1Click(Sender: TObject);
var
Printer:TPrinter;
begin
Printer:=TPrinter.Create;
Listbox1.Items.Assign(Printer.Printers)
end;
{Bu ipucu Abdurrahman Sinanoğlu tarafından gönderilmiştir}

Programımın Windows NT'de çalıştığını nasıl tespit ederim
if Win32Platform = VER_PLATFORM_WIN32_NT then
ShowMessage ('NT''de çalışıyorsunuz!');

Windows oturumunu kapatma (log off)
ExitWindows (0,0);

CPU tipini nasıl tespit ederim
uses kısmına Registry unitini ekleyin. Aşağıdaki fonksiyon ile CPU tipini bulabilirsiniz.
function CPUType: string;
var
Reg: TRegistry;
begin
CPUType := '';
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Hardware\Description\System\CentralP rocessor\0', False) then
CPUType := Reg.ReadString('Identifier');
finally
Reg.Free;
end;
end;

Bir klasördeki tüm dosyaları silme
uses kımına ShellApi komutunu ekleyin. Aşağıdaki kod bir klasördeki tüm dosyaları çöp tenekesine atar. Daha fazla seçenek için Delphi yardıma başvurun.
procedure TumDosyalariSil;
var
T:TSHFileOpStruct;
begin
fillchar(T, sizeof(T), 0 );
with T do begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:='E:\Temp\TestDel\*.*'#0;
fFlags:=FOF_ALLOWUNDO or FOF_FILESONLY or
FOF_SILENT or FOF_NOCONFIRMATION;
end;
SHFileOperation(T);
end;

Windows NT/2000/XP'yi Kapatmak
2000 ve XP'de bilgisayarı kapatmak için gerekli yetkiye sahip olmanız lazım. Aşağıda kodla bilgisayarı kapatabilirsiniz.
var
tkHandle : THandle;
BufferLun,ret : DWORD;
tk,tkPrevious : TTokenPrivileges;
LID : TLargeInteger;
LUID : TLuIDAndAttributes;
versione : TOSVersionInfo;
begin
BufferLun := 1024;
ret := 0;
versione.dwOSVersionInfoSize := sizeof(versione);
GetVersionEx(versione);
if versione.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
tkHandle := GetCurrentProcess;
OpenProcessToken(tkHandle,TOKEN_ALL_ACCESS,tkHandl e);
LookupPrivilegeValue(PChar(''),PChar('SeShutDownPr ivilege'),LID);
LUID.Luid := LID;
LUID.Attributes := SE_PRIVILEGE_ENABLED;
tk.PrivilegeCount := 1;
tk.Privileges[0] := LUID;
AdjustTokenPrivileges(tkHandle,False,tk,BufferLun, tkPrevious,ret);
end;
ExitWindowsEx(EWX_SHUTDOWN or EWX_PowerOff,0);
end;

*.wav (ses) dosyalarını çaldırmak
Bu iş için PlaySound isimli api'yi kullanabilirsiniz. Api geniş bir parametre aralığına sahip, detaylar için Delphi ile gelen Win32 yardım dosyasına bakabilirsiniz.
PlaySound('C:\WINDOWS\MEDIA\Windows Start.wav', 0, Snd_FileName or Snd_Async);

Programımın simgesi Tray'de (saatin yanında) gözüksün
Bu işi yapan birçok bileşen var. Bunlardan en iyisi artık bedava olarak dağıtılan TurboPower ShellShock paketi içindeki tray bileşeni. Bu paketi indirip kurun. İndirme detayları için sitedeki 3. Parti bileşenler kısmındaki TurboPower yazısına bakabilirsiniz.

Programım Windows 2000/Xp'de düzgün çalışıyor, Win9x'te TComboBox bileşeninde xxx.Items.String EReadError veriyor
Bu hata genellikle sistem kaynakları yetersiz olduğu zaman alınmakta. Win 9x'te sistem kaynakları biraz sınırlı.

Diğer programlarda bu tip hatalar almıyorsanız, programınızda aldığınız kaynakları ve bunları işi bittiği anda serbest bırakıp bırakmadığınızı kontrol edin.
Win9x'te user ve gdi kaynakları hala sınırlı. TWinControl sınıfından türeyen componentlerin hepsi handle'a sahiptir. Win9x'te handle sayısı 16K ile sınırlı. Ayrıca glyph, image, imagelist ve font gibi componentler de gdi kaynaklarını kullanırlar. Bu da sınırlı Win9x'te. Aşağıdaki noktalara dikkat edin.

1. Kesin çözüm 2000 veya XP'ye terfi. Eğer işyeri ise güvenlik gibi başka nedenlerle bu en iyi çözüm olacaktır. Biliyorsunuz Win9x'in hedef kitlesi ev kullanıcıları.

2. Formları otomatik create etmeyin. Gerektiği zaman oluşturup işi bitince yok edin.

3. TWinControl'den türeyen bileşenler yerine grafik componentler kullanın. Mesela Panel yerine Bevel kullanın. Grafik componentlerin handle'ları olmadığı için Windows kaynaklarını kullanmazlar.

4. Kendi oluşturduğuz nesneleri yok edin. Mesela bir stringlist oluşturup, daha sonra yok etmezseniz program kapatılsa bile hafızada kalmaya devam eder. Aynı kodu programda bir çok kez çağırıyorsanız gerisini siz düşünün.

5. Windows'ta resource monitör isimli bir program var. Yüklü değilse Program ekle/Kaldır windows kısmından kurabilirsiniz. Burdan user ve gdi resource kısmını takip ederek nerelerde kaynakların kritik noktalara indiğini takip edip önlem alabilirsiniz.

6. Herşey yolunda olsa bile eğer bir formda çok fazla bileşen veya resim vs. varsa buda etkileyebilir. Geçenlerde birisi 1600 tane buton olan bir formdan bahsediyordu.

Başka bir uygulamayı kapatmak
Programatik olarak başka bir uygulamayı kapatmak için, uygulamay WM_QUIT mesajı göndermeniz lazım.
function KillApp(const sCapt: PChar) : boolean;
var AppHandle:THandle;
begin
AppHandle:=FindWindow(Nil, sCapt);
Result:=PostMessage(AppHandle, WM_QUIT, 0, 0);
end;

Kullanılışı :
if not KillApp('Pencere başlığı') then
ShowMessage('Uygulama kapatılamadı!');

CD'nin takılıp çıkarıldığından haberdar olma
Bunun için WM_DEVICECHANGE mesajlarını yakalamamız lazım.
private kısmına aşağıdaki satırı ekleyin :
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
bu da yakalama kısmı :
procedure TForm1.WMDeviceChange (var Msg: TMessage);
const
CD_IN = $8000;
CD_OUT = $8004;
var
Mesaj : String;
begin
inherited;
case Msg.wParam of
CD_IN : Mesaj := 'CD takıldı';
CD_OUT : Mesaj := 'CD çıkarıldı';
end;
ShowMessage(Mesaj);
end;

Sürücü (drive) tipini belirlemek
Formun üzerine bir memo ve bir buton koyun ve aşağıdaki kodu yazın.
procedure TForm1.Button1Click(Sender: TObject);
var
Drive: Char;
DriveLetter: String[4];
begin
for Drive := 'A' to 'Z' do
begin
DriveLetter := Drive + ':\';
case GetDriveType(PChar(Drive + ':\')) of
DRIVE_REMOVABLE: Memo1.Lines.Add(DriveLetter + ' Disket Sürücü(Floppy Drive)');
DRIVE_FIXED: Memo1.Lines.Add(DriveLetter + ' Sabit disk(Fixed Drive)');
DRIVE_REMOTE: Memo1.Lines.Add(DriveLetter + ' Ağ sürücüsü(Network Drive)');
DRIVE_CDROM: Memo1.Lines.Add(DriveLetter + ' CD-Rom(CD-ROM Drive)');
DRIVE_RAMDISK: Memo1.Lines.Add(DriveLetter + ' RAM Disk');
end;
end;
end;

Bir fontu (.ttf) Windows'a kurmadan uygulamanızda kullanma
Formun OnCreate ve OnClose olaylarına aşağıdaki kodları yazın.
procedure TForm1.FormCreate(Sender: TObject);
begin
AddFontResource('c:\FONTS\MyFont.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

procedure TForm1.FormClose (Sender: TObject; var Action: TCloseAction);
begin
RemoveFontResource('C:\FONTS\MyFont.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

Bir Klasördeki Dosyaları Başka Bir Klasöre Kopyalama
uses kısmına ShellApi unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
Begin
{The fillchars make sure the parameters are terminated by at least
two #0 characters, this is required since each parameter can hold
a list of zero-terminated strings, the extra #0 terminates the
list. }
fillChar( OpStruc, Sizeof(OpStruc), 0 );
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, 'c:\deneme\*.*' );
StrPCopy( tobuf, 'd:\deneme' );
With OpStruc DO Begin
Wnd:= Handle;
wFunc:= FO_COPY;
pFrom:= @frombuf;
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
end;
ShFileOperation( OpStruc );
end;

Windows'un Özel Klasörlerini Açma
Aşağıdaki kodla Bilgisayarım, Masaüstü, Yazıcılar, Fontlar gibi özel Windows klasörlerini açabilirsiniz.
uses shellapi, ShlObj, ActiveX;
procedure TForm1.Button1Click(Sender: TObject);
var
exInfo: TShellExecuteInfo;
Procedure FreePidl( pidl: PItemIDList );
Var
allocator: IMalloc;
Begin
If Succeeded(SHGetMalloc(allocator)) Then Begin
allocator.Free(pidl);
{$IFDEF VER90}
allocator.Release;
{$ENDIF}
End;
End;

Begin
FillChar( exInfo, Sizeof(exInfo), 0 );
// initialize all fields to 0
With exInfo Do Begin
cbSize:= Sizeof( exInfo ); // required!
fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST;
Wnd := Handle;
nShow := SW_SHOWNORMAL;
lpVerb := 'open';
ShGetSpecialFolder********( handle, CSIDL_DESKTOP , PItemIDLIst(lpIDList ));
End;
ShellExecuteEx( @exInfo );
FreePIDL( exinfo.lpIDList );
end;
Diğer özel klasörler : CSIDL_DESKTOP, CSIDL_PROGRAMS, CSIDL_CONTROLS, CSIDL_PRINTERS, CSIDL_PERSONAL, CSIDL_STARTUP, CSIDL_RECENT, CSIDL_SENDTO, CSIDL_BITBUCKET, CSIDL_STARTMENU, CSIDL_DESKTOPDIRECTORY, CSIDL_DRIVES (My Computer), CSIDL_NETWORK, CSIDL_NETHOOD, CSIDL_FONTS, CSIDL_TEMPLATES.
Kayıtlı
< -- Seo4SMF Social Bookmark -->
Robot Moderator
HacKer HacK HacKeD HacKing
*
Offlinehacker

Mesajlar: 33206


View Profile
Re: Delphİ Api Kodlari
Posted on: Mayıs 26, 2012, 05:56:24 ÖS

 
      uyari
Hos Geldin Ziyaretci Arkadas. Ben Robot Moderator. HacKbanK tan Tam Anlamıyla Faydalanmak Icin Uye Olman Gerekmektedir.

giris  kayit
indir Delphİ Api Kodlari indir, Delphİ Api Kodlari download, Delphİ Api Kodlari izle, Delphİ Api Kodlari bul, Delphİ Api Kodlari hack Delphİ Api Kodlari hacked Delphİ Api Kodlari hacking Delphİ Api Kodlari hacker Delphİ Api Kodlari programı Delphİ Api Kodlari indir, Delphİ Api Kodlari download, Delphİ Api Kodlari izle, Delphİ Api Kodlari smf, Delphİ Api Kodlari kurulumu, Delphİ Api Kodlari bul
Logged


Google Words: Delphİ Api Kodlari indir, Delphİ Api Kodlari download, Delphİ Api Kodlari izle, Delphİ Api Kodlari bul, Delphİ Api Kodlari programı, Delphİ Api Kodlari hack, Delphİ Api Kodlari hacker, Delphİ Api Kodlari hacked, Delphİ Api Kodlari hacking, Delphİ Api Kodlari resimleri, Delphİ Api Kodlari videosu, Delphİ Api Kodlari smf, Delphİ Api Kodlari peeh,
Sayfa: [1]   Yukarı git
Bu Konuyu Gönder Yazdır
Otomatik Tag
Delphİ Api Kodlari , indir , download , izle , bul , Delphİ Api Kodlari , programı , resimleri , smf , Delphİ Api Kodlari , hack , hacker , hacked , hacker , security , support , Delphİ Api Kodlari

Gitmek istediğiniz yer:  

|Site Map | Arsiv | Wap | Wap2 | Wap Forum | XML | Rss
HacKbanK PowereD & DesigneD by MuratbanK
& to SupporTs iKeZioS & kroki2032 & MileF
Special Secret Security Scanner Server
Super Saccharine Silent Safety System by ScanX
Bu Sayfa 0.152 Saniyede 20 Sorgu ile Oluşturuldu