PDA

View Full Version : جابجا کردن فایلی که در استفاده ویندوز است



ashki
سه شنبه 28 تیر 1384, 15:39 عصر
سلام
من می خواهم یک فایلی را که تحت استفاده ویندوز است را با یک فایل دیگر
جایگزین کنم
مثلا فایل Exlporer را ویرایش کرده ام و می خواهم کپی کنم سر جاش
من از این کد استفاده کردم اما نشد!!!


var
OldName,NewName : string;
begin
OldName := 'C:\WINDOWS\explorer.exe';
NewName := 'D:\explorer.exe';
MoveFileEx(PChar(OldName), PChar(NewName),MOVEFILE_REPLACE_EXISTING +
MOVEFILE_DELAY_UNTIL_REBOOT);


{
if MoveFile(PChar(OldName), PChar(NewName)) then
ShowMessage('Directory renamed!')
else ShowMessage('Failure renaming directory!');
}
end;

brians2000
جمعه 31 تیر 1384, 02:13 صبح
نمیشه فایلی رو که در استفاده ویندوز است جابجا کرد! اینجوری بود که سیستم عامل نبود!

از نسخه 3.3 داس به بعد می تونی یک فایل رو به اشتراک گذاریش رو مشخص کنی و دز ویندوز هم این موضوع از طرف سیستم عامل به عنوان یک عامل حفاظتی رعایت میشه!
اگر از دی ال ال و یا فایل اجرایی استفاده می کنی باید قبلش یه چیزی روی اون فایل اشتراک منبع رو تعریف کنه ولی نمی تونه بعد اجرا فایل رو تغییر مکان بده ! اسمش مثلا ان تی است درسته که مال بیله ولی طراحش سکیورتی هم گذاشته (مثلا!!!!!!!!!!!!!!!!!!!!! لینوکس رو با ویندوز مقایسه کنید! ویندوز چیزی که نداره سکیورتی است اونهم به دلیل طراحی افتضاحه اولیه ! :))

brians2000
جمعه 31 تیر 1384, 02:19 صبح
راستی : چه شوددددددددددددددددددددددد ددددددددددددددددددددددددد دددددددددددددددد!
خوب روش عادیش که می بینی ویندوز ریتستارت می کنه وقت نصب مثلا فایلهای سیستمی اینه که بعد از اجرای کرنل سیستم عامل فایل ها تویط خود سیستم عامل از جای دیگری کپی می شوند تا قبل اجرا تصحیح شوند و گرنه زمانی که ویندوز بالا اومده باشه روشی پیدا کردی به ما بگو! البته گفتم: پرسسش رو ترمینیت کن! (چه روشی!) ترای هم که داره خودش دوباره میاد بالا.!!!! :)) آخه عزیز دل برادر... به فایلهای سیستمی چیکار داری؟ هیچ کس برنامه ای رو که همچین خرابکاری رو بکنه نه می خره نه اجرا می کنه! :)) ویروس نویسی؟ کار نداری؟ اینکارا چیه آخه! فایده اش چیه ": خراب کردن چی؟ ای بابا! (آخرش شوخی بود ولی کار بیهوده ای است و من مونده ام فایده اش چیه! در لانگهورن راحت باش که دیگه اصلا نمی تونی همچین کاری رو انجام بدی و راحت شدی! )

ashki
جمعه 31 تیر 1384, 12:16 عصر
یک راه پیدا کردن اونم اضافه کردن دستورات کپی در Autoexec.bat البته
باید کامپیوتر ریست شود
اما فکر کنم تنها راهش همین باشه

brians2000
جمعه 31 تیر 1384, 13:44 عصر
دوست عزیز! در ویندوز ان تی مگر در زمانی که یک زیر مجموعه داس 16 بیتی اجرا میشه این اوتو اکزک هیچچچچچچچچچچچچچچچچچچ کاری نمی کنه و تازه اونهم با پسوند ان تی اجرا می شه!
بدیهیه که این فرمان توی ویندوز کیلویی 9 و ایکس کار می کنه ولی در خانواده ان تی خیر! البته امکان تعریف پیش اجرا هست که مثلا بروز کردن فایلهای سیستم عامل رو داشته باشه و می دونم که فرامین خاصی داره ولی شخصا باهاش کار نکردم! در هر وضع: :)) از آقای اشکی برنامه نگیرید می خواد کامپیوترتونو بهم بریزه...
دوست من: هیچ نسخه ایکسپلورری نباید تغییر کنه! هیچ عضو سیستم عامل کیلویی مایکروسافت نباید تغییر کنه بدیهی است در صورت تغییر مشکل پیش میاد و کسانی که سرویس پک 2 رو نصب کردند می دونند خود مایکروسافت از ارائه یه سیستم عامل بدون ایراد عاجزه (افتضاحه این سرویس پک 2 ! )

ashki
جمعه 31 تیر 1384, 20:01 عصر
*********************
و نتایخ کارهایم را به صورت مقاله در این تایپ ریختم اگر دوست داشتی بدونی چه نقشه ای داشتم برو و بخون
http://www.haminsite.com//viewtopic.php?p=168#168

البته فکر کنم باید قبلش ثبتنام کنی که بتونی وارد بشوید
بای

brians2000
جمعه 31 تیر 1384, 21:54 عصر
خداوند رحم کند! ایشون در لیست سیاه دوستان قرار بگیره علی الحساب!!!!!!!!!!!!!

":)) معلومه اینو واسه چی میخوای! روش داره ولی واقعا نیازش!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!

Delphi-Clinic
شنبه 01 مرداد 1384, 08:10 صبح
[Code]
<> MoveFileEx <>

This function allows us to rename a specified file or directory. But if you specify MOVEFILE_DELAY_UNTIL_REBOOT in dwFlags (specific to Windows NT 4/2000), it will register this on the Registry and after reboot, Windows will erase it or overwrite the file for us.

Usage:

MoveFileEx(ExistingFN, NewFN, MOVEFILE_REPLACE_EXISTING or
MOVEFILE_DELAY_UNTIL_REBOOT

Where:

ExistingFN points to a null-terminated string that names an existing file or directory.

NewFN points to a null-terminated string that specifies the new name of ExistingFN.

The flag MOVEFILE_REPLACE_EXISTING tells the function to overwrite if ExistingFN already exists. If NewFN is nil, ExistingFN will be erased.

Examples:

* How to replace an existing, in-use, file:

MoveFileEx('c:\winnt\system32\kernel32.dll', 'd:\winnt.bak\system32\kernel32.dll',
MOVEFILE_REPLACE_EXISTING or MOVEFILE_DELAY_UNTIL_REBOOT

* How to delete an existing, in-use, file:

MoveFileEx('c:\winnt\system32\kernel32.dll', nil,
MOVEFILE_REPLACE_EXISTING or MOVEFILE_DELAY_UNTIL_REBOOT

[Code/]

brians2000
شنبه 01 مرداد 1384, 08:26 صبح
:) این فرمان هم زمانی که ویندوز مجددا بالا بیاد می تونه کار کنه و نمی شه همون لحظه فایل رو منتقل کزد... ولی توضیح خوبی بود ولی این کار واقعا کاربرد نداره چون در لانگهورن و همینطور سرویس پک 2 برای این انتقال ها محدودیت وجود داره(ویروس ها از این موضوع سو استفاده می کنند! )

ashki
شنبه 01 مرداد 1384, 23:16 عصر
ممنونم
امتحان می کنم

ashki
شنبه 01 مرداد 1384, 23:23 عصر
دوست من Delphi-Clinic
من الان متوجه شدم که شما نوشته من را ویرایش کرده اید
من همیشه ادب را رعایت می کنم

علت بکار بردن این عبارت این بود که شرایط را brians2000 برای این حرف آماده کرده بود
همان طور که می بینید در تمامی پست هایش داره هی میگه ببریت تو لیست سیاه و از این حرفا

بابا کار من اینقدرها خطر ناک نیست فقط
دوست داشتم که بلاهایی سر ویندوز بیارم(دیگه چی )
همین

Delphi-Clinic
یک شنبه 02 مرداد 1384, 08:40 صبح
سلام

نظر به اینکه دوست ندارم این تاپیک رو قفل کنم لطفا کمی رعایت کنید.

دوست عزیز آقای رایان سمیعی لطفا منبعد از درج مطالب بی ربط و بحثهای الکی جدا خودداری کنید.