|
|
|
|
|
با اين برنامه مي توان صدا ها را از طريق ميكروفون و لاين اين و... در يك فايل با پسوند wav ذخیره کرد.
از این کد می توان در تروجان استفاده کرد و صدای victim را شنید. نظر یادتون نره اين كدها را در يك مودال قرار داده و از توابع آن در برنامه ها استفاده كنيد. Private FName As String
قبل از استفاده با يك فايل با پسوند wav ایجاد کرده و به متغییر filename نسبت دهید. از متودهای pouserecord و startrecord و stoprecord استفاده کنید. شما رو به خدا اگه استفاده كردين نظر بدن.............................. |
||
|
+
نوشته شده در جمعه 16 تیر1385ساعت 10:58 قبل از ظهر توسط محمد امیری
|
|
||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
يكي از مشكلاتي كه بسياري از تازه كاران در دلفي با آن مواجه مي شوند اجراي فايلهاي ديگر يا اجراي دستورات shell است.
پارامتر اول يك متغيير از نوع HWND است.
در اين مثال با استفاده از تابع ExtractFilePath و Application.ExeName كه حاوي آدرس كامل فايل Exe است شاخه اي كه فايل exe در آن قرار دارد را پيدا كرده ايم و سپس فايل test.exe را كه در كنار فايل اصلي اجرايي وجود دارد را به آن اضافه كرده ايم. كل اين عبارت TypeCast شده است به PChar. جهت اطلاع كساني كه نمي دانند TypeCast چيست. TypeCast فرآيندي است كه شما متغيير يا Objectي را از يك نوع به نوع ديگري تبديل ميكنيد. كد زير را نگاه كنيد و با نوع پيشرفته تري از TypeCast آشنا شويد:
در اين مثال Sender را از نوع TObject است TypeCast كرده ايم به TButton. و پراپرتي Caption آنرا تغيير داده ايم. براي اطلاعات بيشتر راجع به TypeCast به كتب دلفي مراجعه كنيد.
همان طور كه ملاحظه مي كنيد اين تابع به يونيت ShellAPI نياز دارد و بايد اين يونيت را در ليست uses يونيت خود اضافه كنيد.
آبجكت ShellExecuteEx داراي پارامترهاي زير است:
براي اطلاعات بيشتر راجع به اين پارامترها به راهنماي Windows SDK دلفي يا MSDN مراجعه كنيد. خروجي اين تابع از نوع boolean است و مشخص كننده اين است كه آيا اين تابع با موفقيت اجرا شده است يا نه؟
همان طور كه متوجه شديد 3 شماره Tabي است كه مورد نظر شماست.
خروجي هاي اين دو تابع مي تواند يكي از مقادير زير باشد:
خلاصه: در اين مقاله با سه تابع API مهم به نام هاي WinExec و ShellExecute و ShellExecuteEx آشنا شديم و پارامترهاي آنها را بررسي كرديم. به علاوه مثالهاي متعددي راجع به استفاده از ShellExecute ارائه داديم. به علاوه ثابتهاي استفاده شده در اين تابع ها را ليست كرده و بعضا آنها را مورد بررسي قرار داديم. همچنين تابعي به نام ExecAndWait ارائه داديم كه كار آن اجراي يك فايل exe و متوقف كردن برنامه تا اتمام فايل exe آشنا شديم و ساختمان داخلي اين تابع را مورد بررسي قرار داديم. موفق و مويد و منصور باشيد |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
+
نوشته شده در جمعه 16 تیر1385ساعت 10:50 قبل از ظهر توسط محمد امیری
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||
|
XML مي تواند دقيقا همچون يك Table براي شما عمل نمايد. در واقع شما مي توانيد با استفاده از XML اطلاعات خودتان را در قالب يك جدول ذخيره كنيد. براي اين كار مي توانيد از كمپوننت ClientDataSet استفاده كنيد. (اين كمپوننت را مي توانيد در تب DataAccess بيابيد). در واقع اين كمپوننت يك In-Memory Table است. يعني اطلاعات خود را در حافظه نگهداري مي كند و به همين علت نيز فوق العاده سريع است. نگاهي به كد زير بيانداريد و با Load كردن يك XML و درست كردن آن آشنا شويد:
همان طور كه در اين كد مشاهده مي كنيد در ابتدا سعي شده است كه فايل test.xml را كه در شاخه خود برنامه قرار دارد Load كنيم و در صورتي كه اين فايل پيدا نشد. آنگاه مي توان به سادگي (همان طور كه مي بينيد) اين فايل را از ابتدا تعريف كرد. فيلدهاي مورد نظر و مشخصات مورد نياز خود را وارد كنيم و همچنين در صورتي كه نياز بود با استفاده از IndexDefs يك يا چند Index جديد ساخت. به چند نكته راجع به اين كد توجه كنيد: 1- با استفاده از متد FieldDefs.AddFieldDef مربوط به ClientDataSet مي توانيد يك فيلد جديد درست كنيد. 2- براي ساخت Index نيز مي توانيد از متد IndexDefs.AddIndexDef مربوط به ClientDataSet استفاده كرد. 2- هر فيلد مي توانيد شامل انواع زير باشد:
بنابراين شما به جاي ftString و يا ftAutoInc مي توانيد از هر كدام از اين ثابت ها استفاده كنيد. همان طور كه مستحضريد به راحتي مي توانيد در XML حتي از BLOB هم استفاده كرده و در آن صدا يا تصوير ذخيره كنيد. 3- از متد CreateDataSet پس از ساخت فيلدهاي مورد نظرتون استفاده كنيد تا اين تغييرات تثبيت بشود. 4- يك ClientDataSet را مي توانيد به سادگي به يك كمپوننت DataSource وصل كنيد. پس از آن مي توانيد از هر كمپوننت Data-Aware مثل DBGrid براي Browse يا ويرايش اطلاعات استفاده كنيد. 5- با استفاده از Filter و Filtered مي توانيد به سادگي اطلاعات رو فيلتر كنيد و به علاوه به سادگي مي توانيد از Locate و FindKey و FindNearest براي جستجو در Tableتون استفاده كنيد. 6- در ClientDataSet هم مي توانيد از Lookupها و فيلدهاي محاسباتي استفاده كنيد. همچنين مي توانيد دو نوع فيلد ديگه به اسم InternalCalc و Aggregate رو هم استفاده كنيد. راهنماي مربوط به InternalCalc و Aggregate دلفي رو در اين جا آورده ام:
موفق و مويد و منصور باشيد |
||||||
|
+
نوشته شده در جمعه 16 تیر1385ساعت 10:47 قبل از ظهر توسط محمد امیری
|
|
||||||
|
|
|
|||||||
|
سلام دوستان
از موضوع تاپيك معلومه كه چيه پس توضيح نمي دم
حالا در فرم برنامتون بك منو بسازد و اسمش رو mnuSysTray بزاريد و كد زير رو در فرم وارد كنيد :
كار تمومه حالا با اجراي برنامه آيك رو مي تونيد در SysTray يا همون كنار ساعت ببينيد و با كليك راست روي اون منويي كه ساختيد نمايش داده ميشه . اگر مشكلي بود من در خدمتم |
||||||||
|
+
نوشته شده در جمعه 2 تیر1385ساعت 11:31 بعد از ظهر توسط محمد امیری
|
|
||||||||
|
|
|
|
|
طريقه بدست آوردن اطلاعات مربوط به هارد ديسک - سي دي رام - فلاپي ديسک اطلاعاتي که روالهاي زير برمي گرداند عبارتست از شماره سريال - نوع سيستم فايل - پشتيباني از نام فايلهاي طولاني و نام درايو From The Windows.Pas -------------------- -------------------- function GetVolumeInformationA(lpRootPathName: PAnsiChar; lpVolumeNameBuffer: PAnsiChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; var lpMaximumComponentLength, lpFileSystemFlags: DWORD; lpFileSystemNameBuffer: PAnsiChar; nFileSystemNameSize: DWORD): BOOL; stdcall; function GetVolumeInformationW(lpRootPathName: PWideChar; lpVolumeNameBuffer: PWideChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; var lpMaximumComponentLength, lpFileSystemFlags: DWORD; lpFileSystemNameBuffer: PWideChar; nFileSystemNameSize: DWORD): BOOL; stdcall; function GetVolumeInformation(lpRootPathName: PChar; lpVolumeNameBuffer: PChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; var lpMaximumComponentLength, lpFileSystemFlags: DWORD; lpFileSystemNameBuffer: PChar; nFileSystemNameSize: DWORD): BOOL; stdcall; Example ------- ------- Used Variables -------------- Path : PChar; --> String that contains the root directory of the volume to be described. VolumeName : PChar; --> Points to a buffer that receives the name of the specified volume. VolumeNameSize : DWord; --> Specifies the lenght in characters of the buffer that receives the volume name. SerialNumber : DWord; --> Points to a variable that receives the volume's serial number. MaxLength : DWord; --> Receives the maximum length in characters of a filename supported by the specified file system. (to indicate if long file names are supported) - long file names --> value : 255 Flags : DWord; - FS_CASE_IS_PRESERVED - FS_CASE_SENSITIVE - FS_UNICODE_STORED_ON_DISK - FS_PERSISTENT_ACLS - FS_FILE_COMPRESSION - FS_VOL_IS_COMPRESSED (for more info on the flags look in the help file) FileSystem : PChar; --> Points to a buffer that receives the name of the specified file system. FileSystemNameSize: DWord; --> Specifies the lenght in characters of the buffer that receives the filesytem name. Code ---- Path := 'C:\'; VolumeNameSize := 256; FileSystemNameSize := 256; GetVolumeInformation(Path,VolumeName,VolumeNameSize, @SerialNumber,MaxLength,Flags,FileSystem,FileSystemNameSize); |
||
|
+
نوشته شده در جمعه 2 تیر1385ساعت 11:27 بعد از ظهر توسط محمد امیری
|
|
||