|
Other .c and .h files all in the same directory!If I add them to the project,the error message received is more strange:(Can you download the source code(new) and try?
How to resolve?help!Please?
Waiting online......
|
|
|
|
|
include ALL files in the directory and you should be able to compile the code.
Saurabh
|
|
|
|
|
I'm sorry,but I am almost crazy ! Can you try and then answer the question?Please? (
|
|
|
|
|
Thanks! I know how to fix this problem, I'll reinstall VC6.
|
|
|
|
|
I have an application (A) that will execute my application (B) from its menu. When the menu item is selected, a method within my app called Notify will be called to execute the program. It is a COM interface. The problem that I am having is when the menu item is selected, application B executes and creates a named mutex object. The application window does not appear but it proceeds to the Notify method where the application executes once again and tries to create the same mutex object name. It fails because the mutex object already exists. If the mutex was created in the first run, why didn't the application start up? Here is what I have below:
STDMETHODIMP CWrapper::Notify(DataNotificationType notifyType, VARIANT data)
{
STARTUPINFO stStartUpInfo;
PROCESS_INFORMATION *pProcessInfo = new PROCESS_INFORMATION;
memset(&stStartUpInfo, 0, sizeof(STARTUPINFO));
stStartUpInfo.cb = sizeof(STARTUPINFO);
stStartUpInfo.dwFlags = STARTF_USESHOWWINDOW;
stStartUpInfo.wShowWindow = SW_SHOWDEFAULT;
CreateProcess(NULL, "C:\\Program Files\\XXX\\zzz.exe", NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS, NULL,
NULL, &stStartUpInfo, pProcessInfo);
return S_OK;
}
BOOL CABCApp::InitInstance()
{
mutex = ::CreateMutex(NULL, TRUE, named_mutex);
DWORD dwMutexErr = GetLastError();
if (dwMutexErr == ERROR_ALREADY_EXISTS)
{
CWnd *pPrevWnd = CWnd::GetDesktopWindow()->GetWindow(GW_CHILD);
while (pPrevWnd)
{
if ( ::GetProp(pPrevWnd->GetSafeHwnd(), named_mutex )
{
if ( pPrevWnd->IsIconic() )
pPrevWnd->ShowWindow(SW_RESTORE);
pPrevWnd->SetForegroundWindow();
pPrevWnd->GetLastActivePopup()->SetForegroundWindow();
return FALSE;
}
pPrevWnd = pPrevWnd->GetWindow(GW_HWNDNEXT);
}
return FALSE;
}
Return TRUE;
}
Thanks!
|
|
|
|
|
Hi folks!
I'm workig on a application that needs to Run on Windows Startup. Ok, I just set the registry entry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" to my application, BUT... when the app starts, it loads a dll and this dll load a configuration file in the same dir. When my app loads in startup looks like a shortcut without "Working dir", cause the dll can't load de cfg file.
Does have any way to set the "Working dir" in the registry entry?
Thanks all for the attention
Cheers!
|
|
|
|
|
RickyC wrote:
...cause the dll can't load de cfg file.
Why? Is the DLL making assumptions about the location of the configuration file (i.e., using a relative instead of an absolute path)? If the configuration file and the DLL are always in the same folder, I think the DLL should call GetModuleFileName(NULL, ...) instead of using the current working directory.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
The DLL is a different project. But I will take a look.
Thanks David.
|
|
|
|
|
How do I go about determining the check state of a menu item in a third party app like you can do using the MadCodeHook library?
|
|
|
|
|
Hello,
I was wondering if anyone can help me derive a ctrl that displays data in tournament brackets. I want the control to be derived from the CTreeCtrl since I want the same functionality, just a different way of drawing it. The normal CTreeCtrl draws:
- --Root
|
- --Child1
| |
| - --GrandChild1
| - --GrandChild2
| |
| - --GrandGrandChild1
|
+ --Child2
However, I would like for it to draw like:
-GrandChild1
|
-Child1 --
| |
| -GrandChild2 -- -GrandGrandChild1
|
-Root --
|
+Child2
If anyone can get me started with the code and point me in the right direction, I would greatly appreciate it,
-----------------
Genaro
\\\|
_ _
@ @
_\\
--|
_/
|
|
|
|
|
I have an MFC (VC6) program that shows a graphical representation of where certain devices are in the area. These devices have GPS lat/long coordinates that I place on a static map image that is built in the program. This was a demo program but now it looks like the company wants to take it a step further.
They would like the satilite map images downloaded via the web, much like Google maps (Keyhole) or NASA World Wind so that this demo can be shown in different locations. They also need it quick. I am not sure of the best way to approach this, given the short deadline. I thought of writing something, perhaps with some head starts with HTTP GETs from Google maps but that is a learning curve as well.
I think basically I need a control that I can pass in a lat/long coordinate, a zoom level (or scale factor), and some options, and get back a bitmap image I can bitblt as a 2D background. The options I am talking about are the type of image returned (USGS 1m ortho, USGS Topo, LandSat7 Visible, street detail, etc.). If it had any kind of caching ability, that would be icing on the cake. I am Google'ing on the web for this but not having much luck. Things I have found are complete applications and/or are way too complex. I just need basically need a DLL.
Anybody else know of such a thing? Or can anybody think of a better approach?
Thanks in advance!
-Paul
|
|
|
|
|
Hi,
You may want to look into ESRI's MapObjects. It's basically an ActiveX control and supporting library, and it really powerful. You create a window with the Map control, add layers (such as shapefiles, MrSID images, etc), set the extents, and it'll take care of the rendering. You can use the evaluation version (fully functional, 60 days) for now, and then worry about pricing/looking for other options later.
As far as getting the ortho photos, check with your local GIS department. County is usually better, but your city's GIS is also an option.
www.esri.com/software/mapobjects/index.html
If you need more help, or help getting started, let me know!
-Chris
|
|
|
|
|
Dear Each,
I am developing an application using MVS (C++). Now, i have discovered that i need to use a library written entirely in Java.
Can someone tell me how to use java in my vc++ program ? that is, call java functions from my vc++ program.
Thank you
llp00na
|
|
|
|
|
You might try invoking a JVM from your VC++ application - and then communicate with it via your favorite distributed protocol.
Remember, Java libs/apps run in virtual machines ... whilst VC++ compiles natively.
-Luther
|
|
|
|
|
I'd like to include some sort of license key (30 day free, etc) with my software.
Firstly: for example, if I download Adobe Illustrator and use it for 30 days - it is smart enough to to know that if I uninstall and reinstall - it still won't work. Maybe it's using the registry and storing an obscure key somewhere? I'm interested to know is there a defined (API) way to do this? Or is it mostly "security by obscurity."
I know nothing is perfect ... there are plenty of "FIXES" for my favorite first person shooters, but if you're trying to limit trial durations or license software for any fixed period of time, is there a fairly "strong" technique to do this?
Finally, if I want to limit an installation to one machine ... I guess I can have the user register online (ala MS) after which I'd probably implement some type of handshake - and then query for something like the Network Card id ... like GUIDs are generated.
But, is that "correct?" Do motherboards have serial #s yet? Or, is there a different approach that would suit me better.
Looking online, I'm not sure what topics to Google ... suggestions would be most appreciated.
Many thanks,
-Luther
|
|
|
|
|
Ah -- one more ...
I have Pro Tools and their higher end software requires a dongle (USB key).
Mark of the Unicorn used to include a floppy disk - which would include exactly one install. If you moved your software or wanted to reinstall, you had to UNAUTHORIZE your hard drive back to the floppy, reinstall, and then AUTHORIZE the hard drive.
I assume that floppy was a "special" floppy in that, you couldn't just make copies of it and create your own unlimited AUTHORIZATIONS ... but I never knew what they did to AUTHORIZE the hard disk.
Can you write to a SECRET section?
Or again, is this all "security by obscurity" and they simply hid some mark someone on the disk. How could they guarantee that no one would write over it?
Many thanks for any suggestions -- last part of an prototype project - and I'm not sure how whether to secure it with a home grown approach? or if there were some accepted industry practices.
Thanks Again,
-Luther
|
|
|
|
|
perhaps you are looking for something like this[^]?
|
|
|
|
|
Sorry if I wasn't clear.
I want to understand/write/test/build/architect this functionality.
Not purchase it.
|
|
|
|
|
My personal preference is to use the install date/time in a reversable math function and store it in an obscure place in the registry.
Any activation/licence keys would then be tied to the specific date/time of the install and therefore useless for activating other installations of the program.
Of course that makes the keys useless for re-installation purposes on the same system also (after a wipe out and reload of OS), which would be a legitimate use.
One way to identify a system by hardware would be to read the mac address of the NIC. Again far from foolproof as it assumes a system will have a NIC and it won't be replaced, but if you work with a combination of the date/time and MAC address and allow your activation keys to work if either matches the original, you should get pretty good security with minimal false positives.
|
|
|
|
|
Thats a pretty good idea. No matter how many times the user installs or wipes the computer and tries to reinstall, the license expires on the expiration date as defined when the license was created.
Could almost get away with a simple file then. I guess this approach is only as strong as the strength of the Reversible Function ...
Thanks for the suggestion.
-Luther
|
|
|
|
|
Use the registry not a file or all the user has to do is look for a new file in certain areas and delete it.
Elaine
The tigress is here
|
|
|
|
|
If the user finds the file - and deletes it, the software will no longer work.
And unless the user can reverse engineer the function that created the key in the first place, the user cannot create a new file and extend the license.
In the world of ssh and encryption, security by obscurity is generally considered a bad or weak thing. That is one of the reasons why DES, 3DES, AES, etc are public algorithms. Security by hiding things is not quite as secure as using "hard to decode" techniques. It seems that a file created using this premise could very well be public.
I think you have a good point from a practical standpoint though. It may be so timeconsuming and impractical to search the entire Registry for an obscure key ... that no normal user would do it ...
If memory serves me correct, http://www.ssh.com/products/tectia/client/non-commercial.html distributes a license file and http://www.vandyke.com/ actually gives the user a KEY to enter into the software manually. There's no hiding much of anything here.
Given the abovee points, can you elaborate and the danger you think exists in using a license file?
Thanks much,
-Luther
|
|
|
|
|
|
|
The CWD is obtained with GetCurrentDirectory() .
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|