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

فتح notepad من خلال MFC

مغلق
بدأه *net* في 20 ديسمبر 2006 · 11 رد · 1,160 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله ....

لدي سؤال أتمنى فعلاااااااااااا ممن لديه إجابة عليه أن يجيب علي بأسرع وقت ممكن ,,, و سأكون شاكرة جدااااا له / لها

أريد من خلال الضغط على أيقونة في MFC أن يفتح لي النوت باد ( الطريقة أعرفها :: باستخدام

	WinExec ( "notepad.exe" , SW_SHOW );

لكني أريد أن يُحفظ الملف بنفس المجلد الذي يوجد فيه برنامج MFC وكذلك معرفة الاسم الذي قام المستخدم بحفظه حتى يمكنني فتح الملف في برنامجي للقراءة منه.....

جزى الله خيرا كل من قرأ سؤالي و حاول الإجابة عليه...

#2

up

عاااااااااااااااااجل رجاااااء :^)

#3

لماذا لا تقوم بإنشاء ملف نصي فارغ في المسار الذي تريده ثم تقوم بتمريره كـ parameter عند تشغيل notepad

#4

أهلا FH

هذا ما أردت بالضبط ,, لكن للأسف أني لا أعرف الطريقة ,,

هلا تفضّلت عليّ وتكرمت بكيفية فعل ذلك ,,

وسأكون شااااكرة و ممتنة لك .....

#5

سلام عليكم

بعد إذن FH

WinExec ( "notepad.exe D:\\mydata.tex" , SW_SHOW );
#6

جزااك الله خير أخ PointerVC

قمت بتجريب ما قلته لي على برنامج موجود في مجلد TryNotepad تحت السي واسميت الملف a

	WinExec ( "notepad.exe C:\TryNotepad\a.txt" , SW_SHOW );

لكن تظهر لي رسالة خطأ :

The filename, directory name , or volume label syntax is incorrect

ترى ما المشكلة ...؟؟؟

#7
اقتباس
The filename, directory name , or volume label syntax is incorrect
ربما المسار غير موجود!

ويمكن التأكد من وجود الملف الفارغ كالتالي:

  FILE *TextFile = fopen("c:\test.txt", "w");
  if ( TextFile != NULL )
  {
	fclose(TextFile);
  }

تم تعديل هذه المشاركة بواسطة FH في 23 ديسمبر 2006 في 09:48

#8

السلام عليكم

اخي الكريم لازم تستخدم \\ بدل \ واحدة

يعني C:\\TryNotepad\\a.txt

شيئ أخر قبل عملية فتح الملف عن طريق النوتباد تستطيع انشائه اذا لم يكن موجود

كاتالي

HANDLE hFile;
CreateFile("C:\\TryNotepad\\a.txt",CREATE_NEW,FILE_SHARE_READ,NULL,CREATE_NEW,NULL,hFile);
CloseHandle(hFile);

بالنسبة للكود التالي

  FILE *TextFile = fopen("c:\test.txt", "w");
  if ( TextFile != NULL )
  {
	fclose(TextFile);
  }

فهو يفي بالغرض ولكن يجب استبدال ال w ب a

اي

FILE *TextFile = fopen("c:\\test.txt", "a");

حتى اذا كان الملف موجود لا يتم مسح محتوى الملف السابقة

والله أعلم

تم تعديل هذه المشاركة بواسطة Mo7eb_Alrasool في 23 ديسمبر 2006 في 15:51

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#9

شكرا على التنبيه

#10

انا ابي افتح نوت باد موجوده اصلا يعني مو انشئ

ولا ضبطت معاي ولا فنكشن من السابقات ياليت الي عنده طريقه يقول :(

وجزاكم الله خير

#11

السلام عليكم

حياك الله أخي الكريم FH جل من لا يسهو

أخي الكريم الرياض ممكن السبب انه لم تعمل include لل windows.h

#include <windows.h>

جرب التالي

WinExec("notepad.exe c:\\filename.txt",1)
ShellExecute(NULL,NULL,"Notepad.exe","c:\\filename.txt","",1)
ShellExecute(NULL,NULL/*"Open"*/,"c:\\filename.txt","","",1)

system("notepad.exe c:\\filename.txt")

والله أعلم

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#12

جزاااك الله ألف ألف ألف خيييييييييييير أخي " محب الرسول",

لا أجد من الكلمات تفيك حقك في الشكر ,,

جزاااك الله خير ..

والشكر موصول للاخFH والأخ PointerVC

لا أراكم الله مكروها ..

تم تعديل هذه المشاركة بواسطة *net* في 28 ديسمبر 2006 في 13:51

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

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