|
wot is the best way to check whether internet is connected.
Other than pinging or downloading file from a known server.
|
|
|
|
|
take a try...
InternetCheckConnection(...)
jitendra
|
|
|
|
|
A function for this is InternetAttemptConnect . This function will check if an Internet connection is available. It returns ERROR_SUCCESS if the connection was available, and if not, it'll return one of the system wide error codes.
Only one parameter, zero, is issued to the function, so it's pretty straightforward to call it. Include 'Wininet.h' and link with 'wininet.lib' to use this function. It is part of the Platform SDK.
For other Internet-connectivity functions, see MSDN link here.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
InternetGetConnectedState(...)
|
|
|
|
|
Hi,
how to I restart my program from its own. Now I do it with a batch file,
it looks like this:
1) process starts a batch-file
2) process stops
3) batchfile waits 2 seconds
4) batchfile starts the process again
Has anybody a better solution ?
Thank you,
Mario
|
|
|
|
|
ShellExecute(NULL,"open",MyAppPath,"-r","",SW_SHOW );
PostMessage(hWnd,WM_QUIT,NULL,NULL);
It's not a bug, it's an undocumented feature. suhredayan@omniquad.com
messenger :suhredayan@hotmail.com
|
|
|
|
|
suhredayan® wrote:
ShellExecute(NULL,"open",MyAppPath,"-r","",SW_SHOW );
whats -r ???
God is Real, unless declared Integer.
|
|
|
|
|
Mr.Prakash wrote:
whats -r ???
Hi Prakash,
Missed to explain the paramaters. Can omit "-r", which can be otherwise used to indicate the application was restarted.
Please check my signature.
It's not a bug, it's an undocumented feature. suhredayan@omniquad.com
messenger :suhredayan@hotmail.com
|
|
|
|
|
PostQuitMessage(NULL) would be the better choice then
PostMessage(hWnd,WM_QUIT,NULL,NULL);
jitendra
|
|
|
|
|
Jitendra gangwar wrote:
PostQuitMessage(NULL) would be the better choice then
PostMessage(hWnd,WM_QUIT,NULL,NULL);
If PostQuitMessage(NULL) is called from within a userinterface thread which is one of the many, within your application.
It just posts a WM_QUIT message to the thread’s message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future.
It's not a bug, it's an undocumented feature. suhredayan@omniquad.com
messenger :suhredayan@hotmail.com
|
|
|
|
|
suhredayan® wrote:
If PostQuitMessage(NULL) is called from within a userinterface thread which is one of the many, within your application.
It just posts a WM_QUIT message to the thread’s message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future.
If PostQuitMessage(NULL) is called from within a userinterface thread which is one of the many, within your application.
It just posts a WM_QUIT message to the thread’s message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future.
But according to MSDN --
Remarks
The WM_QUIT message is not associated with a window and therefore will never be received through a window's window procedure. It is retrieved only by the GetMessage or PeekMessage functions.
Do not post the WM_QUIT message using the PostMessage function; use PostQuitMessage.
|
|
|
|
|
PostQuitMessage(0);
form within another UI Thread will not exit the application.
But PostMessage(hWnd,WM_QUIT,0,0);
will be caught by the underlying handlers and the application will get exited for sure, provided its the handle to the main window.
so i feel suhredyan's method atleast ensures that the application is exited.
|
|
|
|
|
I am agree with you.
Thanks for correcting me.
|
|
|
|
|
|
Hi,
Is it possible to checkin and checkout files in Visual source safe using batch files ???
If yes, can someone provide me with a few sample batch files.
Thanx
Saleem
|
|
|
|
|
Yes.
No.
Try
SS HELP -YAdmin,
at the command line.
|
|
|
|
|
Ouch! Someone's having a bad day...
You can perform one SS action at a time, such as GET, set working folder, set current project, checkin, checkout etc.
Generally you need to specify a username/password (although the password is often blank on many systems), as well as the action you want to do.
SS PROJECT $/Tools/RoleRepl -Yusername,pwd
will set your current project.
SS WorkFold -Yusername,pwd
will set the current directory as your working folder for the current project.
SS Get master.dsp -Yusername,pwd
will get latest file (you can use * for all items)
SS Checkout master.dsp -Yusername,pwd
will perform a checkout (again, you can use wildcards)
SS Checkin master.dsp -Yusername,pwd
will perform a checkin.
That should be enough to get you started
Steve S
|
|
|
|
|
Hi,
There is very interest situation if I use function for hiding scroll bars
(CWnd::ShowScrollBars) for window where OpenGL is rendering:
void CBridgeProfView::SetFitToViewPort()
{
ShowScrollBar(SB_BOTH,false);
....
....
....
Invalidate();
}
Function ::SwapBuffers(HDC hdc) does not work when first redrawing happens despite returning true.But next redrawings work as usual...
Only one computer(Windows XP) in our office suffers from it ....
What it might be?
Alex Kekukh
|
|
|
|
|
If this is a computer-specific issue, I would first doubt driver compatibility or proper installation. Perhaps the display settings are wrong ?
Try updating all OpenGL drivers and possibly the DirectX ones (Yeah, they should not be interrelated, but mysteriously, they are).
If this doesn't help, then you could try first setting the ShowScrollBar to false, then calling Invalidate to force a redraw, then draw your stuff. This may cause flicker, however. Another approach is to handle the WM_PAINT call so that the base class painting is handled first, if you're using MFC. If not, then paint the window area, scrollbars and other stuff first, and as a final thing, bitblt the OpenGL scene.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Antti Keskinen wrote:
Try updating all OpenGL drivers and possibly the DirectX ones (Yeah, they should not be interrelated, but mysteriously, they are).
Because some (old and cheap) cards used to implement openGL drivers using directX (under windows). But it has been a while since I saw such an openGL driver.
|
|
|
|
|
This way allows to avoid wrong drawing,but it waste one more redrawing...
void CBridgeProfView::SetFitToViewPort()
{
ShowScrollBar(SB_BOTH,false);
....
....
....
SendMessage(WM_PAINT,0,0);
Invalidate();
}
Alex Kekukh
|
|
|
|
|
I have tried to look at having tooltips on my tree ctrl items but I have problems. One is that if my item text is longer than the tree control width it nicely shows the whole text in a tooltip like window so maybe I should not have a tooltip now. What I like now is to have option to right click on an item then get a tooltip displayed.
Can any one help with this?
Thank you
|
|
|
|
|
Go into Classwizard and implement a function for the NM_RCLICK message. You can then call GetSelectedItem() to get your item, and then other functions like GetItemData() and GetItemText . To display your item's text in a tooltip, look here[^]
"Oh, I'm sick of doing Japanese stuff! In jail we had to be in this dumb kabuki play about the 47 Ronin, and I wanted to be Oshi, but they made me Ori!"
|
|
|
|
|
That works now
Now when I right-click on my item it is not selected. I have to left click first which selects it. Then I must right-click on it to get the right item. How must right clicking select an item as though it is left clicking?
|
|
|
|
|
I have a question concerning the declaration of an operator. I'd like to define a "+" operator. Looks below this:
const CTimeCode CTimeCode:perator+ (const CTimeCode &TimeCode1, const CTimeCode &TimeCode2)
{
CTimeCode &TimeCodeResult;
TimeCodeResult.m_lTimeCode = TimeCode1.m_lTimeCode + TimeCode2.m_lTimeCode;
}
with those constructors :
CTimeCode::CTimeCode(int iFormat, long lTimeCode)
{
m_iFormat = iFormat;
if ((m_iFormat != 25) || (m_iFormat != 30))
m_iFormat = 25;
m_lTimeCode = lTimeCode;
}
CTimeCode::CTimeCode(int iFormat, CString csTimeCode)
{
m_iFormat = iFormat;
if ((m_iFormat != 25) || (m_iFormat != 30))
m_iFormat = 25;
m_lTimeCode = GetLongTimeCode(csTimeCode);
}
CTimeCode::CTimeCode(int iFormat, int iH, int iM, int iS, int iF)
{
m_iFormat = iFormat;
if ((m_iFormat != 25) || (m_iFormat != 30))
m_iFormat = 25;
m_lTimeCode = GetLongTimeCode(iH,iM,iS,iF);
}
I have a problem at compilation... :
"binary 'operator +' has too many parameters"
That comes perhaps from a syntax error... Any idea about this ?
|
|
|
|
|