|
I have a CWebBrowser and would like to get a websites "View->Source" html, the CWebBrowser is called m_WebBrowser, and would like to know how to go about doing this.
as far as I know there isnt a way to get the source using a navigate call..
|
|
|
|
|
Just curious - are you using a CWebBrowserCtrl expressly for the purpose of getting at the page's HTML?
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
actually I am having the CWebBrowser go to a website, and then select all the information on the website and then put all the information in a text file, excluding pictures and links. but now I would like to add getting the page source from the website too, there is some hidden data I would like to automatically retrieve, like the links url
|
|
|
|
|
If you aren't using the CWebBrowserCtrl to display the page to the user, you may want to see this[^] article.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
hi all,
I have done a small programe in c++. it is a "phonebook"
the user can add,delete,find....contacts
I need to make the user to enter a password before that.
|
|
|
|
|
suroor_bio wrote:
I need to make the user to enter a password before that.
Ok, so what's your question? Is this a console or GUI application?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
|
One way to do this is to do in the C style by using getch() function to enter the charater. getch() function do not display character on the screen.
char passwd[15];
int i=-1;
printf("Enter Password:");
do
{
passwd[++i] = getch();
} while(passwd[i] != 13);
passwd[i] = '\0';
printf("\npassword is %s\n",passwd);
13 is the ascii code for the return key. Hope it will work
Ritu Kwatra
|
|
|
|
|
Ritu Kwatra wrote:
13 is the ascii code for the return key. Hope it will work
WOW!, you back
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
|
|
|
|
|
|
|
|
|
I'm attempting to write a small tool that automatically calls a function on start-up...but my problem is I want the dialog window so be displayed first. If I call the function from the OnInitDialog() it executes it before the window is displayed.
What is the easiest way around this?
|
|
|
|
|
Here's one way:
#define UWM_SOMETHING (WM_APP + 1234)
BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
ON_MESSAGE(UWM_SOMETHING, OnSomething)
END_MESSAGE_MAP()
BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
...
PostMessage(UWM_SOMETHING);
return TRUE;
}
LRESULT CMyDialog::OnSomething( WPARAM, LPARAM )
{
return 1;
}
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Thanks for a quick response
I tried your suggestion but unfortunately it has the same result... The OnSomething() function is still executed before the window is displayed.
|
|
|
|
|
Which means you'll need to use a separate thread to do the work in. See here.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Got it, thanx
|
|
|
|
|
Maybe it will work if you overwrite the dialog's
OnActivate() member function and call your
function from there the first time it is called.
(I'm not sure where on the timeline OnActivate() gets invoked)
Steve T
|
|
|
|
|
Hello
BOOL Pump()
{
MSG msg;
LONG lIdle = 0;
CWinApp* app = AfxGetApp();
while (::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if (!app->PumpMessage())
{
::PostQuitMessage(0);
return FALSE;
}
}
while (app->OnIdle(lIdle++));
return TRUE;
}
BOOL CzedusDlg::OnInitDialog()
{
...
ShowWindow(SW_SHOW);
Pump();
MessageBox(_T("It's your calculations"), _T("message"), MB_OK);
}
Andrew
|
|
|
|
|
I had a similar problem and my solution was a bit crude but worked.
First, in OnInitDialog start a time.
Second, in the OnTimer function do a find for the window by title (assuming you know this, I wrote my own function using EnumWindows for to a partial match).
Wait until the handle returned is not NULL then your window has been displayed.
Elaine
The tigress is here
|
|
|
|
|
My C++ book says that trying to store more characters then the array has space for can cause problems. What the book I have doesn't tell me is how to prevent a user from entering too many characters. The code sample is;
char name[31];
cout << " Enter your name: ";
cin >> name;
What is the best method to take text input from the user?
If only I had more time!
|
|
|
|
|
Example
#include <iostream>
using namespace std;
int main( )
{
ws( cin );
char c[10];
cin.width( 9 );
cin >> c;
cout << c << endl;
}
MSDN is your best friend.
Don't try it, just do it!
|
|
|
|
|
One way would be to accept one character at a time until either Enter is pressed or the maximum number of characters has been reached. Search for examples using getch() and getche() .
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Use a C++ type which is dynamically expandable,
std::string s;
std::cin >> s;
Which will be fine unless you have whitespace in the name, and then you would need something like (this would have been a problem with the exising code as well):
std::string s;
std::getline(cin,s);
If you wanted to get really fancy you could also use an istream_iterator<string>, but for examples this simple I don't think it really buys you anything.
|
|
|
|