السلام عليكم ورحمة الله وبركاته
اخواني
اريد كود لبرنامج يقوم بحفظ جميع الصفحات المفتوحة في ويندوز اكس بي
السلام عليكم ورحمة الله وبركاته
اخواني
اريد كود لبرنامج يقوم بحفظ جميع الصفحات المفتوحة في ويندوز اكس بي
السلام عليكم
هلا اخوي HGB اقصد مثلا انا فاتح 20 صفحة من منتديات الفريق العربي للبرمجة
ارد ان اصنع برنامج يقوم بحفظ هذه العشرين في مكان احدده انا
السلام عليكم ,,
خذ الكود التالي تصبر به حتى أنهي الباقي لاحقا ,,
الكود التالي ,, يرجع عنوان كل صفحات الانترنت فقط المفتوحة ,,
يمكن أن أرجع لك عناوين الصفحات حالبا ويمكن أن احملها لك من جديد ,, وينتهي البرنامج ,, ويصبح Downloader محترم للصفحات !!
تابع معي لنرى ماسيحدث بعد ذلك ,,
// Get_window.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
//#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
cout <<" gsd" << endl;
HWND hwnd = NULL,result;
//LPCTSTR buff;
char* cl =new char[20];;
HWND cur_window;
result=FindWindowEx(NULL, NULL, "IEFrame", NULL);
// Find windows in the IEFrame class...
//while ((cur_window=FindWindowEx(NULL, NULL, "IEFrame", NULL))!=NULL)
/*
for(int r=0;r<10;r++)
{
cur_window=FindWindowEx(NULL, NULL, "IEFrame", NULL);
// And tell them to kill themselves
cout << cur_window;
::GetClassName(cur_window,cl,20);
cout <<" "<<cl<<endl;
SendMessage(cur_window, WM_CLOSE, 0, 0);
SendMessage(cur_window, WM_DESTROY, 0, 0);
SendMessage(cur_window, WM_NCDESTROY, 0, 0);
}
*/
//::GetClassName(cur_window,cla,20);
//for(int q=0;q<10;q++)
char *buff =new char[200];
int n=0;
::GetClassName(result,cl,20);
cout << result<<" " << cl<<endl;
while((result = ::GetNextWindow(result,2))!=NULL)
{
::GetClassName(result,cl,20);
if(!strcmp(cl,"IEFrame"))
{ cout << result<<" " << cl<<endl;
SendMessage(result, WM_GETTEXT, 255, (LPARAM)buff);
cout << "Window Text :" <<buff;
}
cout <<endl;
}
cout <<endl;
cin.get();
return 0;
}شكرا الف شكر لك يا مشرفنا العزيز
بس بغيت اعرف وش الي بتجيبه بعدين ؟؟
وجزاك الله خير على كل ما تعملة لهذا المنتدى العزيز
السلام عليكم اخوي طولت علي وينك :)
مرفوع للترفيع :(
السلام عليكم ,,
لم أجد طريقة لحفظ نفس معلومات الصفحة ,, لكن يمكن أن أحفظ لك الصفحة بتنزيلها مرة أخرى ,, ببريمج تنزيل منفصل ,,
فيماذا تريد البرنامج أنت ,, لأحدد لك الحل الأمثل ,,
اخوي انا ابي احفظ الضفحة لان بعض الاحيان ما اقدر احفظ مليون صفحة
يعني مثل حفظ الصفحة بأسم في متصفح اكسبلور
وعذرا حسبتك ما رديت علي لكن عدلت الرد :)
تم تعديل هذه المشاركة بواسطة asd alasod في 6 سبتمبر 2004 في 10:25
-
لكن يمكن أن أحفظ لك الصفحة بتنزيلها مرة أخرى ,, ببريمج تنزيل منفصل ,,
-
اخوي ما ابي اصعب عليك عطني الي تقدره ^يعني الي فوق :)
الأخ asd alasod أراك موجود الآن.... انتظر شوي و تلقى الجواب ان شاء الله تعجبك طرقتي
:( للاسف مدري وين رحت انت قلت شوية مرة اكثر من خمس ساعات
عسى يكون المانع خير
أتأسف طلعت أصعب من ما توقعتها ، المهم هذا هو البرنامج :
يقوم بحفظ كل صفحة تفتحها إلى C:/ + اسم الصفحة بس ما قدرت لأنه في مشكلة تحول
بس يحفظ الصفحة لو تسوي كذا :
...save->(L"C:\\websitename.htm"); حاول تخليه يحفظاها أتوماتيكلي بنفس أسم الصفحه m_web.GetLocationURL(); لأنه عجزت عن ذلك u can find my application here becaue icant upload it [CODE]http://www.v1r05.netfirms.com/web/web.zip
اخوي ما فهمت عليك :>
حملت البرنامج
يوم فكيت ضغطه ما انفك الا البرنامج
واشتغل على جوجل :>
وش دخله المهم حطيت تحت في حق النص
عنوان ما حفظ طلعلي غلط اي شئ اكتبه فيه
عفواً ، البرنامج الآن لا يعمل 100% بل يعمل 99% ياقي شيء واحد بس عجزت أسويه البرنامج أول ما تفتحة يروح لـ جوجل وينزل الصفحة في السي "C" بنفس عنوان الصفحة الهو www.google.com بس ماقدرت أسويها ، أنت تقدر تخليه يحفظ الصفحة عندك في الكود هذا السطر
lpPersistFile->Save(T2OLE(path),true);
حوله إلى هذا
lpPersistFile->Save(L"C:\\www.arabteam2000-forum.com.htm",0);
سيحفظ صفحة جوجل إلى c:/ بإسم ^
ستصبح عمليه طويلة ومملة كل شوي تغير إسم الصفحة بررمجياً أو تضيم مربع نص و كل شوي تقعد تغير إسم الصفحة
أنت حاول و أنا راح أحوال معاك أخلي البرنامج من نفسه ياخذ عنوان الصفحة و يحفظها في السي أو أي ملف آخر و أيضاً شيء جميل آخر يمكن إضافته إلى البرنامج أنه يقرأ مجموعة من المواقع مكتوبة داخل ملف نص text document و يفتح كل صفحة و يحفظها في المكان المطلوب .
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…