|
Use a ListView control [^] (or, if you plan to use MFC, the ListCtrl class [^])
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Thats what I'm looking for! Thanks a lot man.
------------------------
Impossible is Nothing
|
|
|
|
|
You're welcome, man.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
|
Hello,
I am developing a windows service in VC++.Net2005 on windows XP.
I want the end product should be portable to all the windows OS(atleast to win98,Me,2K,XP and Vista).
In my windows service (which runs on Local System means as System's service), there is a requirement to access the current login user name. To get that i am using the GetUserName() of win32 API, but with this, i am only getting the Login-name as "SYSTEM" ( probably because of the reason that, my windows service is running in System's area(local system)).
Is it feasible to get the current login name instead of getting the user in which the my windows service is running. If possible.. any clues..
Thank you
Anee
|
|
|
|
|
Now, im not sure, but maybe this might work..
getenv("USERNAME");
(It gets the USERNAME value, which also can be seen by doing set in cmd (where loads of other values are))
/Johannes
|
|
|
|
|
Be very careful doing this. There are a number of issues that you must address. What if the user hasn't signed on yet? What if you have two users logged on at the same time and they are going back and forth using Fast User Switching? What if the user logs off?
Judy
|
|
|
|
|
Hello friends...
Thanks for your comments. I am taking help from the following article provided with Codeproject:
http://www.codeproject.com/vb/net/Windows_Service.asp
What i understand from this is, we can have access to the WMI. This WMI shows all the information regarding the various processes running in machine. As i want to get the username in which i am currently logged-in, So, i am using the Win32_Process (which gives the name of process explorer... and the substring of, name of process explorer contains the currently logged-in username(eg.. user_nameprocess.exe) . Using string operations... i am trying to extract that particular username part of the process explorer name.
Now,Taking help of this, i have added System.Management reference to my project (VC++.NET/windows XP) and then i got two files namely ROOT.CIMV2.Win32_Process.h/cpp with my project name. And in the ROOT.CIMV2.Win32_Process.cpp contains following lines of code:
#include Stdafx.h
#include ROOT.CIMV2.Win32_Process.h
After this i added System refrence through the project properties.
But while building this project, i am getting some errors in these new files ROOT.CIMV2.Win32_Process.h/cpp.
and command line options are:
C/C++ Command line options:
/Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /FD /EHa /MDd /Yu"stdafx.h" /Fp"Debug\myservice.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W0 /nologo /c /Zi /clr:pure /TP /errorReport:prompt /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Management.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll"
Linker Command Line Options:
/OUT:"D:\Apr\2\myservice\Debug\myservice.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\myservice.exe.intermediate.manifest" /DEBUG /ASSEMBLYDEBUG /PDB:"d:\Apr\2\myservice\debug\myservice.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /FIXED:No /ERRORREPORT:PROMPT setupapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
And stdafx.h file looks like this:
#pragma once
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// TODO: reference additional headers your program requires here
#define _AFXDLL
/*I included this, bcoz if i don't, then i m getting an build error: D:\Microsoft Visual Studio 8\VC\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
*/
#pragma warning (disable:4430)
#include "ROOT.CIMV2.Win32_Process.h"
#include "afxdb.h"
#include <initguid.h>
#include <setupapi.h>
#include <dbt.h>
#include "cfgmgr32.h"
And if i put the #include _AFXDLL, then i am getting the following errors:
WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
D:\Microsoft Visual Studio 8\VC\atlmfc\include\afxv_w32.h(242) : error C3641: 'DrawState' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\afxv_w32.h(260) : error C3641: 'DrawStatusText' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\winbase.h(1849) : error C3641: 'FreeResource' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\afxv_w32.h(274) : error C3641: 'UnlockResource' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(90) : error C3641: 'InterlockedExchangePointer' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(104) : error C3641: 'ATL::_AtlGetThreadACPFake' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(130) : error C3641: 'ATL::_AtlGetThreadACPReal' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(137) : error C3641: 'ATL::_AtlGetThreadACPThunk' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(147) : error C2440: '=' : cannot convert from 'UINT (__clrcall *)(void) throw()' to 'ATL::ATLGETTHREADACP'
Address of a function yields __clrcall calling convention in /clr:pure and /clr:safe; consider using __clrcall in target type
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(151) : error C2440: '=' : cannot convert from 'UINT (__clrcall *)(void) throw()' to 'ATL::ATLGETTHREADACP'
Address of a function yields __clrcall calling convention in /clr:pure and /clr:safe; consider using __clrcall in target type
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(158) : error C3641: 'ATL::_AtlGetConversionACP' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(594) : error C3641: 'AtlA2WHelper' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(613) : error C3641: 'AtlW2AHelper' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(631) : error C3641: 'AtlA2WHelper' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(636) : error C3641: 'AtlW2AHelper' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atlconv.h(589) : error C3641: 'AtlDevModeW2A' : invalid calling convention '__stdcall ' for function compiled with /clr:pure or /clr:safe
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atltrace.h(64) : error C2440: 'default argument' : cannot convert from 'int (__cdecl *)(int,const char *,int,const char *,const char *,...)' to 'ATL::CTrace::fnCrtDbgReport_t'
Address of a function yields __clrcall calling convention in /clr:pure and /clr:safe; consider using __clrcall in target type
D:\Microsoft Visual Studio 8\VC\atlmfc\include\atltrace.h(143) : fatal error C1903: unable to recover from previous error(s); stopping compilation
NOTE: I have not used windows service Template (provided with VC++.Net 2005). I have just used the windows.h advapi32.dll.
Any kind of help or clue is greatly thankful...
Thanks
-- modified at 6:49 Monday 2nd April, 2007
Anee
|
|
|
|
|
the hkey_local_machine is available from registry.. you can HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon for current logged on user + plus you need to write Winlogon Notification Package for same!
|
|
|
|
|
Hi
I am using the following function to use the xp themes in my property page
EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB);
The dialog looks fine when its size is small but as I increase the length of the dialog the "gradient fill" of the background seems to be tiled? Is there any way of getting rid of tiling and have a smooth gradient fill background, without drawing it all by my self?
|
|
|
|
|
Only the newly-exposed portion of the background gets repainted during the resize.
You may need to foce the entire background to be redrawn in response to WM_SIZE.
Mark
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
I seem to recall that this is a problem/limitation/bug/whatever with the texture. It's a fixed size, so if your window is bigger than that size, the texture has to be tiled.
|
|
|
|
|
|
I'm developing a program,which makes more than one person chat in the one holl. I want to using multicast.but i find that it seems that most of the routine do not surpport multicast, although i only want to send one paceage to others,I must send it for each one!
Somebody how should I do would be more effient?Thanks
|
|
|
|
|
kcynic wrote: i find that it seems that most of the routine do not surpport multicast
What routines?
Are you using sockets?
Mark
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
My English is so poor,please excute me,thanks.
I mean that I want to using multicast achitecture to develop a multi-pepole chat program,which makes all the chater could chat using words or sound.
But i find that not all the router surpport multicast in the internet.
How should I dow now?
Thanks
|
|
|
|
|
To use true multicast then yes, you'd need multicast-capable hardware.
You can simulate multicast with sockets - the drawback being you multiply the bandwidth
requirement by the number of recipients.
You just need to keep track of all the destination addresses.
With UDP it's fairly simple since you can use sendto() to send to each destination.
With TCP, each destination connection needs a connected socket so it's slightly more complicated
(not much).
For a chat program where everyone talks to everyone, it may be simpler to have a "server" app
that everyone connects to. All messages go to the server which forwards them to all users.
That keeps the bandwidth requirement low for each user but the server needs good bandwidth.
For sound, the server could take all the incoming sound samples and mix them, then forward the
single mixed stream to all the connected users.
Mark
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
Hi all,
I want to write a code to send mail from one domain to another domain.
My problem is i want to use STARTTLS command...
When i send STARTTLS i get 220 2.0.0 ready to start TLS but after this i m not getting the way to proceed.
can anybody help me in this
Thanks in advance
|
|
|
|
|
Hello Friends;
I want to use a web service (it has also a method) in c++.
I am using .NET and if i open CLR project i can use this web service methods but If i open a regular command c++ project and then i add web reference into it, i cannot use webservice's methods.
A link, document or any idea is good for me.
Thanks For Your Helps
Best Regards
|
|
|
|
|
Tyler45 wrote: i cannot use webservice's methods
More Information needed, be more specific.
Maybe this will help so long[^]
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Thanks for your reply but this link is related with clr programming. As i said first post i did connection using this method but i need exactly c++ project (without clr) and i want to connect in webservices
Is there any example?
|
|
|
|
|
Hi all,
I m trying to make a linked list. in which three items are present...
when i display the item only last item is displayed and it runs infinetly....
i Suppose all the three items are written at one memory location..
the code is as follows..
struct node
{
char str[23];
node *nxt;
};
node *start_ptr ;
void insert();
void display();
int main(int argc, char* argv[])
{
insert();
return 0;
}
void insert()
{
node *temp = new node;
start_ptr = temp;
for(int i = 0;i<3;i++)
{
cout<<"\n enter the name ";
cin>>temp->str;
temp->nxt = temp;
temp = temp->nxt;
}
}
void display()
{
node *temp2 = start_ptr;
while(temp2->nxt != NULL)
{
cout<<"\n Name = "<<temp2->str;
temp2 = temp2->nxt;
}
}
can anybosy help me in this
thanks in advance
|
|
|
|
|
The problem is that you create only one node and you make it point to itself for the next element. You need to create 3 nodes and make them point to each other.
Another problem is when you display your list afterwards: the nxt pointer of the last element is never initialized to NULL so if you fix the first problem, you'll probably get a crash.
You may also consider using std::list for that purpose
|
|
|
|
|
MOdified: according to Cedric Moonen the next of the last node has to be set to NULL.
You linked a node to itself. Change the function
neha.agarwal27 wrote:
void insert()
{
node *temp = new node;
start_ptr = temp;
for(int i = 0;i<3;i++)
{
cout<<"\n enter the name ";
cin>>temp->str;
temp->nxt = temp;
temp = temp->nxt;
}
}
into:
void insert()
{
node *temp;
node *prev = NULL;
for(int i = 0;i<3;i++)
{
temp = new node;
if ( prev )
{
prev->next = temp;
}
else
{
start_ptr = temp
}
cout<<"\n enter the name ";
cin>>temp->str;
prev = temp;
}
temp->next=NULL;
}
I have NOT made a test, but it should work...
-- modified at 8:26 Friday 30th March, 2007
-- modified at 8:29 Friday 30th March, 2007
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
thanku very much it solved my problem
now i want to display all the three items also..
thanks in advance
|
|
|
|