|
If RegOpenKeyEx does not fail it means that the key exists. You can then delete it with RegDeleteKey
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Use ::RegDeleteKey(). On Windows W9X, this deletes this key, subkeys and values. But on W2K/NT/XP, it doesn't, you have to delete the subkeys yourself (recursive key deletion before you can delete this key).
PS : be sure to release the key handles as well. Like a lot of developers, you seem to mix all together and reuse handles without freeing them first.
|
|
|
|
|
RegOpenKeyEx(HKEY_CURRENT_USER, "Software",
0, KEY_ALL_ACCESS, &keyHandle1);
LONG res = RegOpenKeyEx(keyHandle1, "MyCompany4",
0, KEY_ALL_ACCESS, &keyHandle2);
if (!res)
{
res = RegOpenKeyEx(keyHandle2, "MyApplication4",
0, KEY_ALL_ACCESS, &keyHandle3);
}
SO is this good? Am terrified I might erase the "SoftWare " key or something and destroy myself!!! So I need to know if its safe first....
if (!res)
{
res = RegDeleteKey(keyHandle2,"MyApplication4");
}
if (!res)
{
res = RegDeleteKey(keyHandle1, "MyCompany4");
}
RegCloseKey(keyHandle1);
RegCloseKey(keyHandle2);
RegCloseKey(keyHandle3);
(check res ) and Open the software key again and write the new subkeys.....
|
|
|
|
|
I would replace this :
if (!res)
{
res = RegDeleteKey(keyHandle2,"MyApplication4");
}
if (!res)
{
res = RegDeleteKey(keyHandle1, "MyCompany4");
}
RegCloseKey(keyHandle1);
RegCloseKey(keyHandle2);
RegCloseKey(keyHandle3);
with this :
if (!res)
{
RegCloseKey(keyHandle3);
RegDeleteKey(keyHandle2,"MyApplication4");
}
RegCloseKey(keyHandle2);
res = RegDeleteKey(keyHandle1, "MyCompany4");
RegCloseKey(keyHandle1);
Don't use the same res variable for all keys. Add braces to combine the cases, instead of putting them sequentially.
|
|
|
|
|
Thank you so much for the pointers....
|
|
|
|
|
I recently integrated an installer/uninstaller into my program (third party) and unfortunately calling GetCurrentDirectory and SetCurrentDirectory for loading and saving files points to C:\Documents and Settings\... I need all the files to be saved and loaded from the directory in which the .exe is located in. Is there a similar function (Win32) to GetCurrentDirectory which would get the application path eg. C:\Program Files\My Application\...exe?
|
|
|
|
|
GetModuleFileName does the job
modified 12-Sep-18 21:01pm.
|
|
|
|
|
char szPath[MAX_PATH];
GetModuleFileName(NULL, szPath, MAX_PATH);
-Dominik
|
|
|
|
|
|
Hi all,
I'm trying to use an OLE automation server from within an NT service. I wonder if that's possible at all.
Any hints welcome...
Paul
|
|
|
|
|
Any API is there to find out wheather the system is locked or not .
|
|
|
|
|
Can anyone help me to find a function that counts the number of directories?
I've tried it with the _findnext function but obviously it only works for counting the number of files and not the directories.
Thanx a lot!
Kind regards,
Geert
|
|
|
|
|
look at the definition of struct _finddata_t the attrib member
If I have seen further it is by standing on the shoulders of Giants. - Isaac Newton 1676
|
|
|
|
|
Does this also work for directories?
Thanx,
Geert
|
|
|
|
|
yes, look at the MSDN, it says
_A_SUBDIR
Subdirectory. Value: 0x10
Or use FindFirstFile
If I have seen further it is by standing on the shoulders of Giants. - Isaac Newton 1676
|
|
|
|
|
Imagine the following situation: I pass the address of
an integer varialbe of process A to process B, and have
process B to write a value to this address.
1> would an Access Violation exception be DEFINITELY
raised?
2> if process B happens to have a non-constant variable
(i.e. writable) locating at the same address as the one
passed to it, would an AV exception be raised? if not,
does that mean process B would simply change its own
variable value?
Thanks a lot!
Wenrich
|
|
|
|
|
You can't share memory between processes like this. You have to use memory mapped files.
he he he. I like it in the kitchen! - Marc Clifton (on taking the heat when being flamed)
Awasu v0.4a[^]: A free RSS reader with support for Code Project.
|
|
|
|
|
|
Anytime you cross the process boundary, you've got to use specialized APIs. If the need is to do so is simple, just use ReadProcessMemory , or WriteProcessMemory which are 2 standards WIN32 API functions.
|
|
|
|
|
It's not home work, not an assignment. i just want to find out how exactly
an AV exception is raised. This question is such one that confused me. Please
focus on what would happen under this situation rather than how to do the
"passing". Thank you!
|
|
|
|
|
&& if your OS is Windows
&& if Netscape is your default browser...
Can you please navigate to
HKEY_CLASSES_ROOT\htmlfile\shell
in the registry (of course)
and let me know what the data string along with version of Netscape you are using?
Thanks,
I haven't had time to install Netscape yet on my new laptop and I am on a 56k line
It is for my article:
http://www.codeproject.com/useritems/powermini.asp[^]
and I am fine tuning, and learning at the same time, how windows finds the default browser.
Later,
JoeSox
www.joeswammi.com
"Male Employee #2I have a question Nick, I'm trying to do this quarterly, I just, I can't get the stupid e-mail package to open at all.
Nick Burns: It's the e-mail that's stupid, not you right?"
|
|
|
|
|
im having do an arm animation ..
with the arm consisting of say 3 basic rectangle bitmaps representing the upper arm
fore arm and the
palm..
they all move in the same plane therefore 2d is ok.
movement is to include translation as well as rotation of every arm...
this invludes basically translation and rotataion of the primary bitmaps as well....
as rotation of a bitmap by a specific angle is a tiresome process unless i am to use asm ....
and in this case the rotation will be a major part as for smooth rotation from 0-60 degrees say..requires me to iterate the rotation by an increment until it is 60 degrees.....
ive heard of sprites...do u suggest that i should store the sprites of all 3 arms and then blt the respective sprite based on the degree of rotation....????
i havent come across any sprite examples that dont use directx....is there any??
do advice if any other solution is possible..
Regs
fordge
note:the arm cannot be drwan geometrically and has to be a bitmap
|
|
|
|
|
it depands.
if the arm (bitmap or others) is very large, pre-treat the bitmap is a must.
otherwise it is not neccesary.
OK, say, if the bitmap is smaller than 200*200 pixels on IBM-586 computer (i developed Windows game long times ago, that was my test before), it is not neccesary.
solution is that bitmap must be modified in bitmap buffer, not in DC or memory DC - DCs are too slow.
_asm is recommended but not neccessary.
treating bitmap buffer with _asm is a top ability and intelligent test - if for any kind of color entries, want a challenge?
if a bitmat upto 400*400 pixels can be rotated, moved and displayed with speed over 100 times/per second in a PII-200 machine with backgroud consideration, that is a different!
includeh10
|
|
|
|
|
Hello,
I just started playing around with creating DLL's.. I have created a simple MFC Dll that has one function..
__declspec(dllexport) int ConnectSocket(CString strDns, short nPort);
In this function I start up WinSock create a socket and connect it.. I then close the socket and do Cleanup..
I created a test SDI app to try and use my dll.. It works fine in Release mode and it works fine if I compile a debug.exe and run it but if I try to run it in Debug Mode.. I get an error..
HEAP[Dll Test Container.exe]: Invalid Address specified to RtlFreeHeap( 9a0000, 1361880 )
Any ideas why I'm get this error in debug mode? I am new at this and have no idea what could be causing it.. If you need more info just let me know..
Thanks!
Rob
|
|
|
|
|
I know when you open a socket, heap memory is allocated. I don't do sockets a whole lot (thought the company I work at does), but I don't think you should do WSACleanup while you have a socket open. Do WSACleanup after you have closed all sockets, and maybe that will work.
From the heap error you are having, there's not enough information to decide what's really going on. Include a complete callstack, and I can try to provide some more information.
Chris Richardson
Programmers find all sorts of ingenious ways to screw ourselves over. - Tim Smith
|
|
|
|