ايران ويج

نسخه‌ی کامل: کپی برنامه به بخش دیگر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام. یک برنامه نوشتم (سی پلاس ) می خوام بعد از اولین اجرا خودش در بخش دیگری هم کپی کنه. مثلا در فولدر سیستمی یا درایو دیگه.
تو نت گشتم چند تاapi برای این کار بود. مثلا copyfile,copyfile2,copyfileex هر کدوم رو که نوشتم بدون مورد کامپایل شده و تابع هم اجرا میشه اما کپی از فایل در محل مورد نظر دیده نمی شه.

حالا در فولدر سیستمی شاید ویندوز اجازه چنین کاری نده اما در سایر فولدرها (مبدا و مقصد ) هم چنین اتفاقی نمی افته .
نمونه کد برای این مورد :
کد:
#include <windows.h>





int main(void)

{

 char filename[ MAX_PATH ];

 char newLocation[]="C:\\enterstartupdirhere";//put actual path here (i.e. don't use as is)

 BOOL stats=0;

 DWORD size = GetModuleFileNameA( NULL, filename, MAX_PATH );

 if (size)

   CopyFile(filename, newLocation, stats);

 else

  printf("Could not find EXE file name.\n");

 return 0;

}
بعد از اجرا copyfile مقدار خروجیش رو بررسی کن ببین چی بر میگردونه
واگه صفر برگردوند خطا رو چاپ کن بفهمیم مشکل کجاست

https://msdn.microsoft.com/en-us/library...s.85).aspx


قسمت return value رو بخون
نوشته:
If the function fails, the return value is zero. To get extended error information, call GetLastError.
مشکل حل کردم .
فقط امکان کپی فایل به شاخه های سیستمی نیست .باید بایپس بشه که اونو نتونستم .
(۲۲-بهمن-۱۳۹۶, ۱۳:۲۵:۴۷)mirage0411 نوشته است: [ -> ]مشکل حل کردم .
فقط امکان کپی فایل به شاخه های سیستمی نیست .باید بایپس بشه که اونو نتونستم .

برای کپی دسترسی ادمین میخواد؛