|
See CWinApp::WriteProfile[Int|String|Binary]. These methods write to .ini files and registry, depending on call to CWinApp::SetRegistryKey.
Tomasz Sowinski -- http://www.shooltz.com
What is "scratch" and why can everything be made from it?
|
|
|
|
|
Hi,
Can any one tell me if/how to shutdown windows from VC. I want it as I often leave my PC running gathering results, but I would like the PC to powerdown once it has finished getting the results.
Cheers,
Nick;P
|
|
|
|
|
Checkout the PSK for the System Shutdown Functions. ExitWindowsEx() or InitiateSystemShutdownEx() should do the job.
bibamus, edamus, cras moriemur [eat, drink, for tomorrow we die]
|
|
|
|
|
Use ExitWindowsEx (its in the Platform SDK). However if you are running NT/2000/XP you must use AdjustTokenPriveges first to enable the the SE_SHUTDOWN_NAME privilege. You also need to make darn sure that you have saved any data before initiating the shutdown because once the process starts you may not get the chance!
JohnJ
Life is hard and then you die!
http://www.rainbow-innov.co.uk[^]
|
|
|
|
|
To powerdown the PC you need to call ExitWindowsEx(). (The more fance InitiateSystemShutdown(Ex) API is not able to powerdown a machine )
You need to enable the SE_SHUTDOWN_NAME privilege first using AdjustTokenPrivileges().
However, if you are not that much interested in the details, but just want to put it to work, take a look at the down.exe command line tool from my LS-Tools freeware collection (Link below). You can just spawn it as external program and it also allows you to suspend or hibernate the machine and much more things.
--
Daniel Lohmann
http://www.losoft.de
(Hey, this page is worth looking! You can find some free and handy NT tools there )
|
|
|
|
|
OS: US Win2K, locale: US, VC++ 6.0
I have been developing an internation app (5 langs) and cannot use UNICODE strings, only ANSI. At runtime user changes the app language:
- creation of the font with the Russian_charset
- assigning the font to controls
- redrawing the dialog
Standard Windows controls (button, radio, checkbox, static) display BAD characters. It seems controls are using default US charset and not russian charset.
I have OWNER-DRAW controls in dialog and these controls display Russian text CORRECTLY.
When I draw ( pDC->DrawText(.....) ) some russian text using font with russian charset it display the text OK.
Here's an example of my code:
///////////////////////////////////////////////////////////////
// constructor of dialog
fnt = new CFont(); // dynamically creating font
LOGFONT lf;
....
lf.lfCharSet = RUSSIAN_CHARSET;
....
fnt->CreateFontIndirect( &lf );
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// OnInitDialog
....
GetDlgItem(IDC_RADIO1)->SetFont( fnt );
....
GetDlgItem(IDC_RADIO1)->SetWindowText( str );
/////////////////////////////////////////////////////////////////
Has somebody any idea how to solve my problem????
Thanks in advance
Miro
|
|
|
|
|
How should MSVC++ 6.0 project executable be compiled to enable WindowsXP ClearType antialiasing in its controls?
Cryst
|
|
|
|
|
I forget the criteria for ClearType rendering, but if you use a good large TrueType font in all your controls AND the system is configured to use ClearType by default, then it should work i'd think. Or, you could probably force it by using the CLEARTYPE_QUALITY quality flag when creating the font.
---
Shog9
If I could sleep forever, I could forget about everything...
|
|
|
|
|
After I added the IProvideClassInfo interface to my objects. It can run now. However, for the script below, it runs correctly.
-------------------------------------
dim cnt
set cnt = Application.Documents
-------------------------------------
However, for the code below, it raised runtime error:
Object required: 'Application.Documents.Count'
-------------------------------------
dim cnt
set cnt = Application.Documents.Count
-------------------------------------
In Documents, I've already implemented a property Count for the enumeration.
STDMETHOD(get_Count)(LONG* pVal);
Anything wrong ?
|
|
|
|
|
dim myobj,cnt
set myobj = CreateObject("Application.Documents")
cnt = myobj.Count
STL is a religeon. Enquiries to Reverend Christian Graus
|
|
|
|
|
Hello,
I have various child control windows in my CDialogBar derived class and would like to make intializations to them after the DialogBar windows have been created. What message should I use? WM_INITDIALOG is not available to CDialogBar.
Thanks!
JennyP
|
|
|
|
|
Override the Create() method, and call the base class. If it returns successfully, do your initialization.
---
Shog9
If I could sleep forever, I could forget about everything...
|
|
|
|
|
How can i have a popup menu displayed when i right click on the empty space of menu bar?
|
|
|
|
|
You can check for right click on the menu bar by handling WM_NCRBUTTONDOWN (or related messages) in your mainframe class (provided you use MFC, else handle the message in the WndProc of your main window). the nHitTest parameter (or wParam if SDK) will contain the value HTMENU (=5). For more info, check out CWnd::OnNcRButtonDown or CWnd::OnNcHitTest in the docs.
The popup is displayed by using TrackPopupMenu.
Cheers
Steen.
"To claim that computer games influence children is ridiculous. If Pacman had influenced children born in the 80'ies we would see a lot of youngsters running around in dark rooms eating pills while listening to monotonous music"
|
|
|
|
|
hi all,
i want to know when recv() function will return.
apart from the buff is full, i experience that it will return sometimes. but, i don't so sure when such situation will happen.
how can i control when the recv() return? or, is it in random manner?
try to give me some idea!
thanks,
jim
|
|
|
|
|
recv() function returns when it has received some data. We cannot predict how many bytes it returns. This depends on your network and the buffer and various other factors.
For example if the sender has sent a string "hello world", this might come in any of the following ways or even other ways.
1 single packet - "hello world" - recv() returns 11
2 packets - "he" and "llo world" - recv() returns 2 and 9
3 packets - "he", "llo w" and "orld" - recv() returns 2, 5 and 4
3 packets - "hello", " w" and "orld" - recv() returns 5, 2 and 4
What I am trying to put through is that you need to loop your recv() call till you are sure all the data has come, probably by using some kind of termination code. SMTP uses \r\n.\r\n for example.
Regards,
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
thanks!
let me make my question clearer.
for example, i want to send several ip to client. so, i send command "iplist\n"
then, sending "3", "xxx.xxx.xxx.xxx\n", "yyy.yyy.yyy.yyy\n", "zzz.zzz.zzz.zzz\n".
so, are there any method to make sure i can receive 5 times from recv()?
my concern is that, if i can receive the command and data line by line. i can handle the data directly without saving the data to temp buffer.
any idea?
thanks,
jim
|
|
|
|
|
zecodela wrote:
so, are there any method to make sure i can receive 5 times from recv()?
Not really. You will have to parse what the recv() call gives you. Anyway you should always check the data returned and run some sanity checks. Never trust what the network sends.
If you really wanted to split up the recvs you could either use setsockopt(SO_RCVBUF) to set the size of the recieve buffer. Becareful here as it might screw up performance or else pass a small-sized buffer to recv. Frankly I don't see why you should want 5 recvs(): it's better to get it all in one big buffer.
HTH
Brian Azzopardi
bibamus, edamus, cras moriemur [eat, drink, for tomorrow we die]
|
|
|
|
|
Hi Jim ,
recv()basically is a blocking call. It blocks unless it gets some data on that socket. U don't want recv to block u use Asynchronous calls like WSAAsyncSocket() or CAsyncsocket class for creating ur socket. With u async socket u will get notification to receive or when data is still pending.
cheers,
|
|
|
|
|
Hi,
I have a number of txt files, such as, f01.txt, f02.txt, ....f38.txt.
Now i want to combine these files into one new file named such as f.txt.
In some extend, i known that how to find these files recursively and how to form the new files. But I'm not clear about how to copy the contents of the single text file into the new file without the lose of the style or format of the text contents?
Is there a method for copy all the contents of the f01.txt into the f.txt for one time?
Thanks in advance!
chen
chen
|
|
|
|
|
Basically this is what you need to do
- Open an output file in write mode
- Open the next input file in read mode
- Keep reading from input and writing to output
- Close input file
- Go back to step 2 if there are more input files
- Close output file
Regards,
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
Use GetFileSize to find the size of the f01.txt file in bytes.
Then use ReadFile with the lpNumberOfBytesRead parameter set to the value returned by GetFileSize.
Then use WriteFile with the nNumberOfBytesToWrite parameter set to the value returned by GetFileSize.
Jason Henderson quasi-homepage articles "Like it or not, I'm right!"
|
|
|
|
|
Thanks for the information.
|
|
|
|
|
Hi.
I design and implement Windows programs using MFC and its doc/view architecture. Currently I am studying Jeffrey Richter's Programming Applications for Microsoft Windows. It is an amazing booking with unparrelled insights to Windows core.
In his book, Richter demonstrates thread synchronization both at user-mode and at kernel object levels using Win32 API. For example, for critical sections, you can call EnterCriticalSection(...). For events, you can call CreateEvent(...).
Anyways, I have studies from Jeff Prosise's Programming Windows with MFC. Prosise demonstrates thread synchronization using MFC tools including CCriticalSection, CEvent, CMutex, as well as CSingleLock.
Again, I have no experience with Win32 API GUI tools. I would like to know is it what is the preferred tool for thread synchronization: Win32 API or MFC? Both techniques make use of the same thread synchronization tools. I want to know which technique is more powerful now and in the future.
I really enjoy working with Win32 API, just not for GUI.
Thanks,
Kuphryn
|
|
|
|
|
The MFC thread synchronization classes are essentially thin wrappers for the underlying Win32 synchronization objects. If your project uses MFC, then you'd save some time and effort if you use the MFC wrappers. On the other hand you mention that you enjoy pure API coding, from which I assume that you prefer native API coding to MFC. If that's the case you may use the API calls directly. For example instead of using the CCriticalSection class you'd have to use InitializeCriticalSection , EnterCriticalSection etc. Performance wise you won't find any difference.
Regards,
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|