الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أفكار سريعة

مثبّتمغلقرائج
بدأه ORWA في 16 أكتوبر 2004 · 92 رد · 54,917 مشاهدة · في قسم الأكواد الفاعلة والنادرة
مشاركة: واتساب X فيسبوك تيليجرام
#76
Database1.Params.Add('PATH=C:\DELPHI\DEMOS\DATA');
...
end;

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#77

مرحباً بكم اخواني الأعزاء .. قد سجلت اليوم بالمنتدى لكي اضع هذا الكود لاساهم بتفعيل المنتدى

أهم مابه ارسال المتغيرات على هيئة Post عن طريق WebBrowser

procedure TForm1.Button1Click(Sender: TObject);
var
url, Flags, TargetFrame, Postdata, Headers: Olevariant;
begin
Url := 'https://lc1.law5.hotmail.passport.com/cgi-bin/dologin';
TargetFrame:=0;
Flags:=NavNoHistory;
headers := StringtoVarArray('Content-Type:application/x-www-form-urlencoded'#13#10);
//هذه المتغيرات التي سوف ترسل
Postdata := StringToVarArray('login=<MyUsername>&passwd=<MyPassword>');
EmbeddedWb1.Navigate2(URL, Flags, TargetFrame, PostData, Headers);
end;

هذا الدالة سوف تحتاجه

function StringToVarArray(const S: string): Variant;
begin
  Result := Unassigned;
  if S <> '' then
  begin
    Result := VarArrayCreate([0, Length(S) - 1], varByte);
    Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
    VarArrayUnlock(Result);
  end;
end;

أتمنى اني وفقت الى أضافه ما هو مفيد بإذن الله

#78

السلام عليكم

هذه بعض الاوامر التي يمكن استمالها في وندوز start >> run

ويمكن استعمالها برمجيا في ديلفي هكذا

winexec(Pchar('RUN'),sw_Show)

طبعا محل رن نضع الامر

"rundll32 shell32,Control_RunDLL"

"rundll32 shell32,OpenAs_RunDLL"

"rundll32 shell32,ShellAboutA Info-Box"

"rundll32 shell32,Control_RunDLL desk.cpl"

"rundll32 user,cascadechildwindows"

"rundll32 user,tilechildwindows"

"rundll32 user,repaintscreen"

"rundll32 shell,shellexecute Explorer"

"rundll32 keyboard,disable"

"rundll32 mouse,disable"

"rundll32 user,swapmousebutton"

"rundll32 user,setcursorpos"

"rundll32 user,wnetconnectdialog"

"rundll32 user,wnetdisconnectdialog"

"rundll32 user,disableoemlayer"

"rundll32 rnaui.dll,RnaWizard"

"rundll32 shell32,SHFormatDrive"

"rundll32 shell32,SHExitWindowsEx -1"

"rundll32 shell32,SHExitWindowsEx 1"

"rundll32 shell32,SHExitWindowsEx 0"

"rundll32 shell32,SHExitWindowsEx 2"

"rundll32 krnl386.exe,exitkernel"

"rundll rnaui.dll,RnaDial "MyConnect"

"rundll32 msprint2.dll,RUNDLL_PrintTestPage"

"rundll32 user,setcaretblinktime"

"rundll32 user, setdoubleclicktime"

"rundll32 sysdm.cpl,InstallDevice_Rundll"

كمان ممكن تراجع المواضيع هذه

http://dev.remotenetworktechnology.com/cmd/rundll32.htm

http://www.informatikboard.ch/showthread.p...=&threadid=5917

http://www.rgagnon.com/pbdetails/pb-0204.html

http://www.wintricks.it/manuali/rundll32-2.html

http://www.microsoft.com/resources/documen...ff_mul_bafv.asp

واي امر تاني انت تعرفه و ممكن يشتغل في الرن ايضا ممكن استعماله

بختصار مفيد شويه شويه تعمل TweakXPبرنامجك الشخصي

تحياتي بالتوفيق

#79

delphi.ru كتب

السلام عليكم

هذه بعض الاوامر التي يمكن استمالها في وندوز start >> run

ويمكن استعمالها برمجيا في ديلفي هكذا

"rundll32 shell32,Control_RunDLL"
"rundll32 shell32,OpenAs_RunDLL" 
"rundll32 shell32,ShellAboutA Info-Box" 
"rundll32 shell32,Control_RunDLL desk.cpl"
"rundll32 user,cascadechildwindows" 
"rundll32 user,tilechildwindows"
"rundll32 user,repaintscreen"
"rundll32 shell,shellexecute Explorer"
"rundll32 keyboard,disable" 
"rundll32 mouse,disable"
"rundll32 user,swapmousebutton"
"rundll32 user,setcursorpos"
"rundll32 user,wnetconnectdialog"
"rundll32 user,wnetdisconnectdialog"
"rundll32 user,disableoemlayer"
"rundll32 rnaui.dll,RnaWizard"
"rundll32 shell32,SHFormatDrive"
"rundll32 shell32,SHExitWindowsEx -1"
"rundll32 shell32,SHExitWindowsEx 1"
"rundll32 shell32,SHExitWindowsEx 0"
"rundll32 shell32,SHExitWindowsEx 2" 
"rundll32 krnl386.exe,exitkernel"
"rundll rnaui.dll,RnaDial "MyConnect"
"rundll32 msprint2.dll,RUNDLL_PrintTestPage" 
"rundll32 user,setcaretblinktime"
"rundll32 user, setdoubleclicktime"
"rundll32 sysdm.cpl,InstallDevice_Rundll"

كمان ممكن تراجع المواضيع هذه

http://dev.remotenetworktechnology.com/cmd/rundll32.htm

http://www.informatikboard.ch/showthread.p...=&threadid=5917

http://www.rgagnon.com/pbdetails/pb-0204.html

http://www.wintricks.it/manuali/rundll32-2.html

http://www.microsoft.com/resources/documen...ff_mul_bafv.asp

واي امر تاني انت تعرفه و ممكن يشتغل في الرن ايضا ممكن استعماله

بختصار مفيد شويه شويه تعمل TweakXPبرنامجك الشخصي

تحياتي بالتوفيق

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#80

مرحبا أنا عضو جديد معكم

ملئ ComboBox بالسواقات الموجودة لديك

procedure TForm1.Button1Click(Sender: TObject);
var
  Ch : Char;
  S  : string;
begin
  for Ch := 'A' to 'Z' do
  begin
    s := Ch + ':';
    if (GetDriveType(PChar(s)) = 2)or(GetDriveType(PChar(s)) = 3) or(GetDriveType(PChar(s)) = 5) then
       ComboBox1.Items.Add(S);
  end;

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#81

مرحبا

الكتابة إلى عنوان الـForm زمن التنفيذ

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
If Key = #8 Then
Caption := copy(Caption,1,Length(Caption)-1)
else Caption := Caption + Key;
Key := #0;
end;

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#82

منقول عن الفريق العربي للتكنولوجيا

إزالة DLL من الذاكرة

function KillDll(aDllName: string): Boolean;
var
  hDLL: THandle;
  aName: array[0..10] of char;
  FoundDLL: Boolean;
begin
  StrPCopy(aName, aDllName);
  FoundDLL := False;
  repeat
    hDLL := GetModuleHandle(aName);
    if hDLL = 0 then
      Break;
    FoundDLL := True;
    FreeLibrary(hDLL);
  until False;
  if FoundDLL then
    MessageDlg('Success!', mtInformation, [mbOK], 0)
  else
    MessageDlg('DLL not found!', mtInformation, [mbOK], 0);
end;

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#83

منقول عن الفريق العربي للتكنولوجيا

كيفية الحصول على GUID

uses
  ComObj, ActiveX;

function CreateGuid: string;
var
  ID: TGUID;

begin
  Result := '';
  if CoCreateGuid(ID) = S_OK then
    Result := GUIDToString(ID);
end;

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#84

إذا ممكن : ما هو "GUID" ... :unsure:

#85

السلام عليكم

هذا هو الـــ GUID يا ابو ماجد :

Tip1172.png

globally unique identifier = GUID

وهو رقم او رمز فريد ... وتستطيع انتاجة في الرن تايم " Run Time " بالطريقة التي ذكرها اخونا M_Asize

او اثناء التصميم بالضغط على : Ctrl+Shift+G وسوف يضهر لك الـــ GUID في الكود ايدتر

ويفيد في استخدامات كثيرة حسب احتياجك ورأيت بعض برامج الأتصلات الشبكية تستفيد منة ... مع اني لم استخدمة سابقآ

اكتب في الكود ايدتر : TGUID وضللها ثم اضغط F1 واقراء الشرح الخاص بة

وبالتوفيق .

#86

جزاك الله خيراً ، فقد فهمت شيئاً عن هذا الاختراع :)

و لكن لم استطع تخيل وضع احتاجه فيه ، فهل يمكنكم الإفادة بأفكار سريعة لاستخدامات GUID

ولكم جزيل الشكر :lol:

#87

مثل ما قلت لك يا ابوماجد ... تنفع لعدة استخدامات حسب الأحتياج وهذا مثال لأستخدامها

عند حبايبنا اصحاب الداتا بيس :

http://delphi.about.com/library/weekly/aa022205a.htm

والـــ GUID يستخدمها غالبآ مبرمجين الـــ COM

وايضآ في برامج الأتصلات الكبيرة والتي يكون فيها اكثر من متصل في وقت احيانأ يتم اعطاء كل متصل

GUID خاص يتم تمييز بعض العمليات بة

واحيانآ تعطي عملية محددة Guid خاص .. وتشترط في فنكشن او بروسيجر شرط مبني على الـــ Guid

وشفت زمان برنامج عامل حماية بسيطة بالأعتماد على GUID لعدم تشغيل البرنامج اكثر من مرة

المهم ان هذا الرمز الفريد تسطيع ان تستخدمة في اشياء كثيرة حسب احتياجك

واتوقع الأخوان يعطوك شرح وافي عنة ... فقط انتظر

#88

مرحبا

لمعرفة كمية الذاكرة في الجهاز

procedure TForm1.Button1Click(Sender: TObject);
var
  Info: TMemoryStatus;
begin
  Info.dwLength := sizeof(TMemoryStatus);
  GlobalMemoryStatus(Info);
 ShowMessage(Format('%d MB RAM', [(Info.dwTotalPhys SHR 20) + 1]))
end;

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#89

لمعرفة إذا كان البرنامج يعمل بوجود SoftICE

Function IsSoftIceLoaded :Boolean;
 var hFile: Thandle;
  begin
    result := false;

// ---Windows 98 ---
   hFile := CreateFileA('\\.\SICE', GENERIC_READ or GENERIC_WRITE
                          ,FILE_SHARE_READ or FILE_SHARE_WRITE,
                        nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     if( hFile <> INVALID_HANDLE_VALUE ) then
      begin
       CloseHandle(hFile);
       result := TRUE;
      end;

// --- Windows NT/2000/XP ---
   hFile := CreateFileA('\\.\NTICE', GENERIC_READ or GENERIC_WRITE
                        , FILE_SHARE_READ or FILE_SHARE_WRITE,
                        nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     if( hFile <> INVALID_HANDLE_VALUE ) then
      begin
       CloseHandle(hFile);
       result := TRUE;
      end;
  end;
d4baa0.gif
#90

حلوة هي ..

أعجبتني .. !!

شكرا DeltaAziz

#91

للحصول على سريال ****** :D

unit MSProdKey;

{
**************************************************************************************
* Unit MSProdKey v2.2                                                                *
*                                                                                    *
*  Description: Decode and View the Product Key, Product ID and Product Name used to *
*               install: Windows 2000, XP, Server 2003, Office XP, 2003.             *
*               *Updated* Now works for users with Non-Administrative Rights.        *
*               Code cleanup and changes, Commented.                                 *
*                                                                                    *
*  Usage: Add MSProdKey to your Application's uses clause.                           *
*                                                                                    *
*  Example 1:                                                                        *
*                                                                                    *
* procedure TForm1.Button1Click(Sender: TObject);                                    *
* begin                                                                              *
*   if not IS_WinVerMin2K then // If the Windows version isn't at least Windows 2000 *
*   Edit1.Text := 'Windows 2000 or Higher Required!' // Display this message         *
*   else // If the Windows version is at least Windows 2000                          *
*   Edit1.Text := View_Win_Key; // View the Windows Product Key                      *
*   Label1.Caption := PN; // View the Windows Product Name                           *
*   Label2.Caption := PID; // View the Windows Product ID                            *
* end;                                                                               *
*                                                                                    *
*  Example 2:                                                                        *
* procedure TForm1.Button2Click(Sender: TObject);                                    *
* begin                                                                              *
*   if not IS_OXP_Installed then // If Office XP isn't installed                     *
*   Edit1.Text := 'Office XP Required!' // Display this message                      *
*   else // If Office XP is installed                                                *
*   Edit1.Text := View_OXP_Key; // View the Office XP Product Key                    *
*   Label1.Caption := DN; // View the Office XP Product Name                         *
*   Label2.Caption := PID; // View the Office XP Product ID                          *
* end;                                                                               *
*                                                                                    *
*  Example 3:                                                                        *
* procedure TForm1.Button3Click(Sender: TObject);                                    *
* begin                                                                              *
*   if not IS_O2K3_Installed then // If Office 2003 isn't installed                  *
*   Edit1.Text := 'Office 2003 Required!' // Display this message                    *
*   else // If Office 2003 is installed                                              *
*   Edit1.Text := View_O2K3_Key; // View the Office 2003 Product Key                 *
*   Label1.Caption := DN; // View the Office 2003 Product Name                       *
*   Label2.Caption := PID; // View the Office 2003 Product ID                        *
* end;                                                                               *
*                                                                                    *
**************************************************************************************
}

interface

uses Registry, Windows, SysUtils, Classes;

function IS_WinVerMin2K: Boolean; // Check OS for Win 2000 or higher
function View_Win_Key: string; // View the Windows Product Key
function IS_OXP_Installed: Boolean;  // Check if Office XP is installed
function View_OXP_Key: string;  // View the Office XP Product Key
function IS_O2K3_Installed: Boolean; // Check if Office 2003 is installed
function View_O2K3_Key: string; // View the Office 2003 Product Key
function DecodeProductKey(const HexSrc: array of Byte): string;
  // Decodes the Product Key(s) from the Registry

var
  Reg: TRegistry;
  binarySize: INTEGER;
  HexBuf: array of BYTE;
  temp: TStringList;
  KeyName, KeyName2, SubKeyName, PN, PID, DN: string;

implementation

function IS_WinVerMin2K: Boolean;
var
  OS: TOSVersionInfo;
begin
  ZeroMemory(@OS, SizeOf(OS));
  OS.dwOSVersionInfoSize := SizeOf(OS);
  GetVersionEx(OS);
  Result := (OS.dwMajorVersion >= 5) and
    (OS.dwPlatformId = VER_PLATFORM_WIN32_NT);
  PN     := ''; // Holds the Windows Product Name
  PID    := ''; // Holds the Windows Product ID
end;


function View_Win_Key: string;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('\SOFTWARE\Microsoft\Windows NT\CurrentVersion') then
    begin
      if Reg.GetDataType('DigitalProductId') = rdBinary then
      begin
        PN         := (Reg.ReadString('ProductName'));
        PID        := (Reg.ReadString('ProductID'));
        binarySize := Reg.GetDataSize('DigitalProductId');
        SetLength(HexBuf, binarySize);
        if binarySize > 0 then
        begin
          Reg.ReadBinaryData('DigitalProductId', HexBuf[0], binarySize);
        end;
      end;
    end;
  finally
    FreeAndNil(Reg);
  end;

  Result := '';
  Result := DecodeProductKey(HexBuf);
end;

function IS_OXP_Installed: Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Result      := Reg.KeyExists('SOFTWARE\MICROSOFT\Office\10.0\Registration');
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
  DN  := ''; // Holds the Office XP Product Display Name
  PID := ''; // Holds the Office XP Product ID
end;

function View_OXP_Key: string;
begin
  try
    Reg         := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    KeyName     := 'SOFTWARE\MICROSOFT\Office\10.0\Registration\';
    Reg.OpenKeyReadOnly(KeyName);
    temp := TStringList.Create;
    Reg.GetKeyNames(temp); // Enumerate and hold the Office XP Product(s) Key Name(s)
    Reg.CloseKey;
    SubKeyName  := temp.Strings[0]; // Hold the first Office XP Product Key Name
    Reg         := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    KeyName2    := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\';
    Reg.OpenKeyReadOnly(KeyName2 + SubKeyName);
    DN := (Reg.ReadString('DisplayName'));
    Reg.CloseKey;
  except 
    on E: EStringListError do
      Exit
  end;
  try
    if Reg.OpenKeyReadOnly(KeyName + SubKeyName) then
    begin
      if Reg.GetDataType('DigitalProductId') = rdBinary then
      begin
        PID        := (Reg.ReadString('ProductID'));
        binarySize := Reg.GetDataSize('DigitalProductId');
        SetLength(HexBuf, binarySize);
        if binarySize > 0 then
        begin
          Reg.ReadBinaryData('DigitalProductId', HexBuf[0], binarySize);
        end;
      end;
    end;
  finally
    FreeAndNil(Reg);
  end;

  Result := '';
  Result := DecodeProductKey(HexBuf);
end;

function IS_O2K3_Installed: Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Result      := Reg.KeyExists('SOFTWARE\MICROSOFT\Office\11.0\Registration');
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
  DN  := ''; // Holds the Office 2003 Product Display Name
  PID := ''; // Holds the Office 2003 Product ID
end;

function View_O2K3_Key: string;
begin
  try
    Reg         := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    KeyName     := 'SOFTWARE\MICROSOFT\Office\11.0\Registration\';
    Reg.OpenKeyReadOnly(KeyName);
    temp := TStringList.Create;
    Reg.GetKeyNames(temp);
    // Enumerate and hold the Office 2003 Product(s) Key Name(s)
    Reg.CloseKey;
    SubKeyName  := temp.Strings[0]; // Hold the first Office 2003 Product Key Name
    Reg         := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    KeyName2    := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\';
    Reg.OpenKeyReadOnly(KeyName2 + SubKeyName);
    DN := (Reg.ReadString('DisplayName'));
    Reg.CloseKey;
  except 
    on E: EStringListError do
      Exit
  end;
  try
    if Reg.OpenKeyReadOnly(KeyName + SubKeyName) then
    begin
      if Reg.GetDataType('DigitalProductId') = rdBinary then
      begin
        PID        := (Reg.ReadString('ProductID'));
        binarySize := Reg.GetDataSize('DigitalProductId');
        SetLength(HexBuf, binarySize);
        if binarySize > 0 then
        begin
          Reg.ReadBinaryData('DigitalProductId', HexBuf[0], binarySize);
        end;
      end;
    end;
  finally
    FreeAndNil(Reg);
  end;

  Result := '';
  Result := DecodeProductKey(HexBuf);
end;

function DecodeProductKey(const HexSrc: array of Byte): string;
const
  StartOffset: Integer = $34; { //Offset 34 = Array[52] }
  EndOffset: Integer   = $34 + 15; { //Offset 34 + 15(Bytes) = Array[64] }
  Digits: array[0..23] of CHAR = ('B', 'C', 'D', 'F', 'G', 'H', 'J',
    'K', 'M', 'P', 'Q', 'R', 'T', 'V', 'W', 'X', 'Y', '2', '3', '4', '6', '7', '8', '9');
  dLen: Integer = 29; { //Length of Decoded Product Key }
  sLen: Integer = 15;
  { //Length of Encoded Product Key in Bytes (An total of 30 in chars) }
var
  HexDigitalPID: array of CARDINAL;
  Des: array of CHAR;
  I, N: INTEGER;
  HN, Value: CARDINAL;
begin
  SetLength(HexDigitalPID, dLen);
  for I := StartOffset to EndOffset do
  begin
    HexDigitalPID[I - StartOffSet] := HexSrc;
  end;

  SetLength(Des, dLen + 1);

  for I := dLen - 1 downto 0 do
  begin
    if (((I + 1) mod 6) = 0) then
    begin
      Des := '-';
    end
    else
    begin
      HN := 0;
      for N := sLen - 1 downto 0 do
      begin
        Value := (HN shl 8) or HexDigitalPID[N];
        HexDigitalPID[N] := Value div 24;
        HN    := Value mod 24;
      end;
      Des := Digits[HN];
    end;
  end;
  Des[dLen] := Chr(0);

  for I := 0 to Length(Des) do
  begin
    Result := Result + Des;
  end;
end;

end.
d4baa0.gif
#92

هل برنامجك يعمل تحت Vmware

function IsInsideVMWare: Boolean;
var
  rc: Boolean;
begin
  rc := False;

  try
    asm
      push   edx
      push   ecx
      push   ebx

      mov    eax, 'VMXh'
      mov    ebx, 0 // any value but not the MAGIC VALUE
      mov    ecx, 10 // get VMWare version
      mov    edx, 'VX' // port number

      in     eax, dx // read port
                     // on return EAX returns the VERSION
      cmp    ebx, 'VMXh' // is it a reply from VMWare?
      setz   [rc] // set return value

      pop    ebx
      pop    ecx
      pop    edx
    end;
  except
    on EPrivilege do rc := False;
  end;

  Result := rc;
end;
d4baa0.gif
#93

قلب الشاشة عامودي و افقي

Procedure FlipScreenHorizonally;
var
  shit : tbitmap;
begin
  shit:=tbitmap.Create;
  shit.Width:=screen.Width;
  shit.Height:=screen.Height;
  bitblt(shit.Canvas.Handle,0,0,shit.Width,shit.Height,getdc(0),0,0,srccopy);
  stretchblt(getdc(0),shit.Width,0,-shit.Width,shit.Height,shit.Canvas.Handle,0,0,shit.Width,shit.Height,srccopy);
end;
//-----------------------------------
Procedure FlipScreenVertically;
var
  shit : tbitmap;
begin
  shit:=tbitmap.Create;
  shit.Width:=screen.Width;
  shit.Height:=screen.Height;
  bitblt(shit.Canvas.Handle,0,0,shit.Width,shit.Height,getdc(0),0,0,srccopy);
  stretchblt(getdc(0),0,shit.Height,shit.Width,-shit.Height,shit.Canvas.Handle,0,0,shit.Width,shit.Height,srccopy);
end;

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

مواضيع مشابهة