![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||
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; uses kısmına ShlOBJ unitini ekleyin; SHAddToRecentDocs(SHARD_PATH, nil); var s: string; begin s := 'c:\windows\cars.bmp'; SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(s),0);
procedure TForm1.Button1Click(Sender: TObject); var Rgn : hRgn; begin // Başlat butonunu gizle Rgn := CreateRectRgn(0, 0, 0, 0); SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', 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_TrayWnd', nil), 0, 'Button', nil), 0, true); end; procedure TForm1.Button3Click(Sender: TObject); begin //Başlat butonunu kullanılmaz yap EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', 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_TrayWnd', nil), 0, 'Button', nil), true); end; WinExec('c:\windows\calc.exe',sw_show);
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;
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;
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; MessageBeep(word(-1));
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ı
Win9x'te bilgisayarı kapatmak veya yeninden başlatmak için : ExitWindowsEx(EWX_SHUTDOWN,0); //yeniden başlatmak için EWX_REBOOT
//kapatmak için SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0); //açmak için SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 1, nil, 0);
Ekran kartınızın kaç rengi desteklediğini aşağıdaki kodla bulabilirsiniz. (1 shl (GetDeviceCaps(Form1.Canvas.Handle, BITSPIXEL) *
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'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);
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);
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\CurrentVersion\Run',false); reg.WriteString('Uygulamam', uygulamanızın_yolu_ve_adı); reg.CloseKey; reg.free; end;
uses kısmına ShellAPI ve ShlObj unitlerini ekleyin. procedure TForm1.Button1Click(Sender: TObject); uses kısmına Shellapi unitini ekleyin; ShellExecute(Handle, 'open', 'http://www.geocities.com/siliconvalley/campus/4958/', nil, nil, sw_ShowMaximized);
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. *)
var OldVal : LongInt; begin SystemParametersInfo (97, Word (True), @OldVal, 0) (* Word(False) ile kullanırsanız tuşları tekrar kullanabilirsiniz. *) 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;
procedure TForm1.Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
Screen.Width //yatay çözünürlük MessageDlg('Şu anda ' + IntToStr( Screen.Width ) +' x '+ IntToStr( Screen.Height )+' çözünürlükte çalışıyorsunuz', mtInformation, [mbOk], 0 );
uses kısmına ShellAPI unitini ekleyin. procedure TForm1.Button1Click(Sender: TObject); 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
if (GetKeyState(VK_CAPITAL) and $01)<>0 then
ShowCursor(False) //imleci gizler procedure TForm1.Button1Click(Sender: TObject); 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.
WNetConnectionDialog ( 0, RESOURCETYPE_DISK );
uses kısmına shellapi unitini ekleyin. shellexecute(0,'open', 'c:\test\2.avi','','',SW_NORMAL); procedure TForm1.Button1Click(Sender: TObject); PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
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);
Winexec('Control.exe Date/Time',sw_shownormal);
uses kısmına printers unitini ekleyin procedure TForm1.Button1Click(Sender: TObject); {Bu ipucu Abdurrahman Sinanoğlu tarafından gönderilmiştir}
if Win32Platform = VER_PLATFORM_WIN32_NT then
ExitWindows (0,0);
uses kısmına Registry unitini ekleyin. Aşağıdaki fonksiyon ile CPU tipini bulabilirsiniz. function CPUType: string;
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;
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,tkHandle); LookupPrivilegeValue(PChar(''),PChar('SeShutDownPrivilege'),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;
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);
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.
Bu hata genellikle sistem kaynakları
yetersiz olduğu zaman alınmakta. Win 9x'te sistem kaynakları biraz sınırlı.
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. Programatik olarak başka bir uygulamayı kapatmak için, uygulamay WM_QUIT mesajı göndermeniz lazım. function KillApp(const sCapt: PChar) : boolean; Kullanılışı : if not KillApp('Pencere başlığı') then
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);
Formun üzerine bir memo ve bir buton koyun ve aşağıdaki kodu yazın. procedure
TForm1.Button1Click(Sender: TObject);
Formun OnCreate ve OnClose olaylarına aşağıdaki kodları yazın. procedure TForm1.FormCreate(Sender: TObject);
uses kısmına ShellApi unitini ekleyin. procedure TForm1.Button1Click(Sender: TObject);
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); 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.
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |