|
to have programs start when the computer starts up u need to edit the registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
or
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
|
|
|
|
|
I thought these entries required the user to first login. I think one would have to go the service route (on supported Win OSs) in order to have an application start on boot up.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Ravi Bhavnani wrote:
I thought these entries required the user to first login.
HKEY_CURRENT_USER would but HKEY_LOCAL_MACHINE exists even when no one is logged in.
Ravi Bhavnani wrote:
I think one would have to go the service route (on supported Win OSs) in order to have an application start on boot up.
Not necessarily.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
DavidCrow wrote:
HKEY_LOCAL_MACHINE exists even when no one is logged in.
True.
But if I'm not mistaken, a "Run" entry in the HKEY_LOCAL_MACHINE subtree causes the application to start after any user logs in, as opposed to a corresponding entry for a specific user in the HKEY_USERS subtree which causes the app to only start when that user logs in. Regardless, the user has to first login.
<aside>
I believe this mechanism is used by installers that ask "Do you want to install this program for all users or just yourself?".
</aside>
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Ravi Bhavnani wrote:
But if I'm not mistaken, a "Run" entry in the HKEY_LOCAL_MACHINE subtree causes the application to start after any user logs in...Regardless, the user has to first login.
Not so. I just verified this and without logging in to the machine, the applications in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run are indeed started.
[edit]
The jury is still out on this one. I'll keep looking...
[/edit]
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
DavidCrow wrote:
without logging in to the machine, the applications in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run are indeed started.
That's amazing. It seems to work exactly as I described on my Win XP Home SP1 box. I confirmed this by adding a HKEY_LOCAL_MACHINE\... entry to this test app:
#include "stdafx.h"
#include "time.h"
int main(int argc, char* argv[])
{
time_t tmNow;
time (&tmNow);
char szFilespec [255];
sprintf (szFilespec, "C:\\%d.txt", tmNow);
FILE* fp = fopen (szFilespec, "w");
fclose (fp);
return 0;
} and rebooting and logging in a few seconds later. As I expected, there was only one file (C:\1124224887.txt ) created. This matches Microsoft's documentation[^] of these keys.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Ravi Bhavnani wrote:
...and rebooting and logging in a few seconds later.
But the question is does your test application run if you don't log in?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
DavidCrow wrote:
does your test application run if you don't log in?
No, because if it did, there would have been 2 files created - once when the system rebooted and once after I logged in.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
why would there have to be two?
if its started on startup it wouldnt create another process of itself for the user logging in. would it?
|
|
|
|
|
I booted the system at 2:30pm and logged in at 2:35pm. The file was timestamped 2:35pm. My point was, if the application ran on boot up, there would have been 2 files - one timestamped 2:30pm and the other 2:35pm. I also confirmed that the file is created every time I login.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
|
Did you mean RunServices instead of Run ?
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Ravi Bhavnani wrote:
Did you mean RunServices instead of Run?
No.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Ravi Bhavnani wrote:
But if I'm not mistaken, a "Run" entry in the HKEY_LOCAL_MACHINE subtree causes the application to start after any user logs in, as opposed to a corresponding entry for a specific user in the HKEY_USERS subtree which causes the app to only start when that user logs in. Regardless, the user has to first login.
That's the way I've taken it to work, I always have to log in of HKLM\...\Run to take effect.
One thing I suggest doing though, is use Winlogon Notification Packages (assuming you're programming for an NT-based version of windows), you can listen to startup/shutdown/login/logoff and other events.
Check:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/winlogon_notification_packages.asp
HTH
|
|
|
|
|
Thanks for the info, but you may want to post a reply to the original author of the thread.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Good point!
|
|
|
|
|
One thing I suggest doing, is use Winlogon Notification Packages (assuming you're programming for an NT-based version of windows), you can listen to startup/shutdown/login/logoff and other events.
Check:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/winlogon_notification_packages.asp
HTH
|
|
|
|
|
can u tell me whats wrong with my code plz:
HBITMAP hbmp = LoadBitmap(hinst,MAKEINTRESOURCE(IDB_BITMAP1));
RECT r;
GetWindowRect(hBtn1,&r);
HDC pthisDC;
HDC bmpDC;
HBITMAP pOldBitmap;
pthisDC = GetDC(hWnd);
bmpDC = CreateCompatibleDC(pthisDC);
pOldBitmap = (HBITMAP)SelectObject(bmpDC,&hbmp);
BitBlt(pthisDC,
0,0,
r.right-r.left,
r.bottom-r.top,
bmpDC,
0,0,SRCCOPY);
SelectObject(bmpDC,pOldBitmap);
DeleteDC(bmpDC);
help would be appreciated
|
|
|
|
|
You must create a compatible bitmap for the DC "pthisDC", select this bitmap to the DC "pthisDC" before the function "BitBlt" and deselect the bitmap after the function "BitBlt".
|
|
|
|
|
Hello, trying to gather some information for a new project that I am working on. We've been assigned to port a windows application (ATL, Win32, MFC, COM in-procs/out-procs,etc.) to Linux. I've been reading up on a DCOM Linux implementation called EntireX (http://128.197.93.185/cd/exxv7113/WINDOWS/EXX/program+files/Software+AG/EntireX/Docu/print/dcmlinux.pdf) that would hopefully enable the port to talk with it's Windows implementation. Does anyone have experience with EntireX - reliability? etc? Or can suggest a better solution/favorite product?
Thanks,
Bob
|
|
|
|
|
Sounds like you've got a pretty tough job on your hands!
Kevin
|
|
|
|
|
|
Morning, all
the applicatin runs fine if I don't set any breakpoints. But if I set breakpoint in \MFC\SRC\DLGCORE.CPP
TRY
{
// create modeless dialog
AfxHookWindowCreate(this);
if (CreateDlgIndirect(lpDialogTemplate,
CWnd::FromHandle(hWndParent), hInst))
{
if (m_nFlags & WF_CONTINUEMODAL)
{
// enter modal loop
DWORD dwFlags = MLF_SHOWONIDLE;
if (GetStyle() & DS_NOIDLEMSG)
dwFlags |= MLF_NOIDLEMSG;
VERIFY(RunModalLoop(dwFlags) == m_nModalResult);
it will stop after enter modal loop, the dialog said it's comlete, but program not exit out by automaticlly, the reason I set breakpoint was the (RunModalLoop(dwFlags) = 1 AND m_nModalResult =4 in another version.
Thanks
|
|
|
|
|
Is it possible one of them was retuning '1' because you pressed the OK button, which normally returns '1' from the dialog result? I am not sure where '4' came from. CANCEL is usually '2'.
|
|
|
|
|
I think you are right....4 could be the auto start.
Thank you!
|
|
|
|