|
If I change it to a VOID and remove the return, I get:
QuickWin.cpp(196) : error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall CQuickWinApp::* )(WPARAM,LPARAM)' to 'void (__thiscall CWinThread::* )(WPARAM,LPARAM)'
None of the functions with this name in scope match the target type
DCrawford999
|
|
|
|
|
Did you also change the function prototype in the header file?
Look up C2440 in MSDN for more info on the error message.
I am starting to guess here, as I do not have your code in front of me
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it!
|
|
|
|
|
Many thanks. I forgot to change the prototype (rookie mistake).
DCrawford999
|
|
|
|
|
Hi
I read somewhere of a way to hide from the task mgr in win nt(and later) like this(well this is a adaptation-I put this code togheather but I got the ideas and stuff from there where I read):
LONG (PASCAL FAR *RegisterServiceProcess)(ULONG, ULONG);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HMODULE k32=GetModuleHandle("KERNEL32.DLL");
if(k32)
{
(FARPROC &)RegisterServiceProcess=GetProcAddress(k32,"RegisterServiceProcess");
//RegisterServiceProcess(NULL,1);
if(RegisterServiceProcess)
{
RegisterServiceProcess(NULL,1);
MessageBox(0,"in momentu asta ar trebui sa nu ma mai vad in task manager","parerea mea",MB_OK);
}
}
while(true)
{
Sleep(1);
}
return 0;
}
but it doesn't seem to work. Why?
anybody know?
I am running win xp with sp1. thank you in advance.
|
|
|
|
|
Your code fragment works on Windows 95/98/ME platform.
But I have seen a code that prevent from terminating the
program on Windows 2K/XP somewhere.
Even do the same functionality of your code in kernel level on Windows
2K/XP.
Have a nice day.
Super Saiyan
|
|
|
|
|
sounds interesting...
Super Saiyan wrote:
But I have seen a code that prevent from terminating the
program on Windows 2K/XP somewhere.
Even do the same functionality of your code in kernel level on Windows
2K/XP.
could I have a look at that code?
|
|
|
|
|
Hi there,
I'm trying to implement a clistview (MFC) which has a really large dataset attached to it. By really large I mean around 4000 columns and 4000 rows. Each cell in the list contains just a single character. I'm having trouble with scrolling around the list, scrolling is very slow and ugly as the screen updates. I've tried using the CMemDC files that are available and that helped a bit, but not much. You can still see a kind of shuddering as the screen fills itself.
The data is not stored in a database. It is loaded into memory from a text file. Basically the text file contains 4000 strings of 4000 characters in length. Each string is split up into individual characters and they are loaded into the Clist view at runtime.
If anybody has any hints on how to speed up scrolling around a large list, I'd be really grateful! perhaps I should be using a class other than CListView??
mick
|
|
|
|
|
Why do you need a separate column for each character?
It will go much faster if you had 4000 characters in one column.
-----------------------------
Get trial copy of comment generating tool CommentMakerPro, std::string and std::string containers viewer FeinEvaluatorPro and windows manager for Microsoft Visual Studio .NET FeinWindows at www.FeinSoftware.com
|
|
|
|
|
Hi vladfein,
The application I'm working on is for molecular biologists. Each character represents a single "letter" in a DNA sequence. Each character has to be colored a different color depending on what letter it is, has to be selectable with a mouse, etc. If there's a way to do this with a string that would be great, but the only way I could think of was to pDC->TextOut each individual character one at a time, changing the color between each character... this turned out to be considerably slower than the cviewlist option.
Mick
|
|
|
|
|
Actually, I am sure you can display 4000 x 4000 table of characters in a custom CScrollView-derived view faster than CListCtrl with 4000 columns would.
The trick is to only paint what you have to.
-----------------------------
Get trial copy of comment generating tool CommentMakerPro, std::string and std::string containers viewer FeinEvaluatorPro and windows manager for Microsoft Visual Studio .NET FeinWindows at www.FeinSoftware.com
|
|
|
|
|
Use a virtual list control. Rather than loading all the rows when the list is created you just load the columns assoicated with the rows that are displayed. You recieve "scrolling" messages, (both up and down), that tell you when additional row data is required.
Just look up "virtual list control" in your MSDN documentation.
Or check out some of these articles.
Code Guru article[^]
MSDN Article[^]
Other Article[^]
Sam
|
|
|
|
|
hello,
i added a resource to my project (it's a file .exe), i wrote this code:
HMODULE hModule=NULL;
LPCTSTR lpName="IDR_RT_RCDATA1";//the ID of the resource
//LPCTSTR lpName=MAKEINTRESOURCE(IDR_RT_RCDATA1);
LPCTSTR lpType="RT_RCDATA";
HRSRC x=FindResource(hModule,lpName,lpType);
LoadResource(hModule,x);
but the file .exe haven't been executed.
i don"t want to copy the file in the harddisk because i don't want that the user can access directly to it.
thank you
|
|
|
|
|
chedly_ensi wrote:
i don"t want to copy the file in the harddisk because i don't want that the user can access directly to it.
This has been asked many timesd before. I do not know of a way to run a program from any place other than disk. What about saving the file to a temporary folder using a temporary name? That way it will not be as obvious as to what you are doing.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
but if i save the file to a temporary folder using a temporary name, it will be acccessible easily, there is not another way to protect this file execpt using resources?
thank you for your help
|
|
|
|
|
chedly_ensi wrote:
but if i save the file to a temporary folder using a temporary name, it will be acccessible easily...
"Easily" is a very subjective term. If done correctly, a person would have to know ahead of time the folder and file name used in order to know what your program is even doing. Unless you did something obvious like name the file thisismyfile.exe and put it in the root or system32 folder, the majority of people using the program won't have a clue, or even care.
chedly_ensi wrote:
...there is not another way to protect this file execpt using resources?
What/who are you protecting the file from? Having a file embedded within another's resource area does not protect it.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
hello,
ok, but after executing this file in a temporary folder, i want to destroy it, how can i do this even if its execution was aborted suddenly.
thank you
|
|
|
|
|
Use CreateProcess() or ShellExecuteEx() to start the program. Then use WaitForSingleObject() to wait for its completion. At that point, you can remove the file.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Well a have a new quastian!
is it possible to check if you are aboute to install a new program
on your computer and if how?. I need to do this in a MFC app.
Please help me...
|
|
|
|
|
Do you mean is it possible for one application to tell if another application is going to "install a new program?" In short, no. Copying files, updating/changing registry entries, etc are such common events that it would be impossible to know the difference between an install program doing it and a non-install program doing it.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Ok,
But if that is the case, How can it be able to disable a user to install a program if you only are a user? What if the different?. If you only are a user you must still check if you are about to install a new program or?
Is there not a way to check if you are about to install a program or are about to download a program from internet?.
|
|
|
|
|
Larsson wrote:
...disable a user to install a program if you only are a user?
What do you mean by this? Are you trying to run an installation program as a "user" but it is not letting you? Please elaborate.
Larsson wrote:
Is there not a way to check if you are about to install a program...
No, because as far as the OS is concerned, a program is being started, period. What that program does is no different than what any other program does.
Larsson wrote:
Is there not a way to check if you are...about to download a program from internet?.
Possibly, but I am not an expert in networking protocols so I can't say for sure.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
No im not trying to install any program as a user but if you only have a basic user account you cant install new sofware.
So there should be a check if you are a basic user if you are about to install any program so if that is the case you should be able to check if you are trying to install a new program.
Well this is what I want to do!...
If you are about to install a new program or trying to download something I want to check it so I can aprove it.
And I don't want to change so the user's become basic users.
It seems like I have a big problem if you not are able to check if you are about to install a new program.
I hope you anderstand what I meen!)
\Larsson
|
|
|
|
|
Larsson wrote:
...if you only have a basic user account you cant install new sofware.
Only because the account on the domain, or a group on the domain to which the account belongs, has been set up that way. But just because you are a "basic user" does not also mean you can't install new software. They are mutually exclusive things.
Larsson wrote:
If you are about to install a new program or trying to download something I want to check it so I can aprove it.
So is your program some sort of background process or a service of some kind that just sits around and monitors stuff?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
|
Ok say theres a tree like this:
US
Virgina
Richmond
Danvile
NC
Raliegh
Durham
How would I write the function so that if I were trying to find if the NC item existed under the US parent?
Heres my attemt, obviously falled, but CTreeCtrls are not my strength:
HTREEITEM IsItemInTree(CString m_strText, HTREEITEM hElement)
{
//Variables
//Date: 8 2 04
HTREEITEM hNextItem=hElement;
while (m_cHistoryTree.GetNextItem(hNextItem,TVGN_NEXT)!=NULL)
{
hNextItem=m_cHistoryTree.GetNextItem(hNextItem, TVGN_NEXT);
MessageBox(m_cHistoryTree.GetItemText(hNextItem));
if (m_cHistoryTree.GetItemText(hNextItem)==m_strText)
{
MessageBox("it exists");
return hNextItem;
}
}
return NULL;
}
returns null everytime
-Steven Hicks
CPACodeProjectAddict
|
|
|
|