Article View: borland.public.cppbuilder.nativeapi
Article #17102Re: I need another solution
From: Vladimir Afanasyev
Date: Wed, 09 Apr 2003 11:07
Date: Wed, 09 Apr 2003 11:07
94 lines
4253 bytes
4253 bytes
Hi,
"Fernando" <ferjat@terra.es> wrote:
>Thank you, but SVC it?s not free and I only want to create an user account.
>I would like to use API of Windows. Is it possible?. Thanks
>
>
>"Eugene Mayevski" <mayevski@eldos.org> escribio en el mensaje
>news:3e9312bb@newsgroups.borland.com...
>> Fernando Alvarez wrote:
>> > Hi
>> >
>> > How I create an user account in Windows 2000/XP? And a group? I haven๏ฟฝt
>> > found any information. Thanks!!
>>
It is very easy for Windows Script:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/ScriptCenter/user/ScrUG92.asp
The similar code for C++ Builder:
#include <objbase.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//The IBindCtx interface provides access to a bind context, which is an object
//that stores information about a particular moniker binding operation.
IBindCtx *pbindctx;
//The IMoniker interface is used for naming COM objects. An object that
//implements IMoniker is called a "moniker," which is a name that uniquely
//identifies a COM object.
IMoniker *pmoniker;
//Using later binding by moniker I will obtain pointer to dispatch interface
IDispatch *dispServ;
ULONG ul;
//Creates a bind context.
//A bind context is an object that stores information about a particular
//moniker-binding operation:
HRESULT hresult=::CreateBindCtx(0,&pbindctx);
if(hresult != S_OK)
{
ShowMessage("CreateBindCtx error");
pbindctx->Release();
Application->Terminate();
}
//Converts a string into a moniker that identifies the object named by the string.
//It's moniker for current computer: (//.)
hresult = ::MkParseDisplayName(pbindctx, L"WinNT://.,computer",&ul,&pmoniker);
if(hresult != S_OK)
{
ShowMessage("Sure, next time will be better.");
pbindctx->Release();
pmoniker->Release();
Application->Terminate();
}
//"Binds" the moniker; that is, returns a pointer to the object identified by the moniker.
//The binding process involves finding the object, getting it into the running
//state if it's not already, and acquiring an interface pointer to it.
//See carefully - I "get" Dispatch interface just for later binding
hresult=pmoniker->BindToObject(pbindctx,NULL,IID_IDispatch,(void**)&dispServ);
if(hresult != S_OK)
{
ShowMessage("They are still not here, bad day");
pbindctx->Release();
pmoniker->Release();
dispServ->Release();
Application->Terminate();
}
//Creating record for user ItsMe
Variant PCUser=((Variant)dispServ).Exec(Function("Create") << "user" << "ItsMe");
//setting password for user ItsMe
PCUser.Exec(Function("SetPassword") << "ABCd1924");
//Apply it:
PCUser.Exec(Function("SetInfo"));
}
It is create account for user ItsMe with password ABCd1924.
For further information see:
Microsoft Script Center:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/default.asp
You can see also how to use monikers for WMI in C++
Builder in my samples:
Let us try WMI (samples)
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=19443
Vladimir.
Technical Details
Message-ID:
<3e93f0ca$1@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mailReferences:
<3e930242@newsgroups.borland.com> <3e9312bb@newsgroups.borland.com> <3e9347ad@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: 10cc67,7078ae0ac1caa636 X-Google-Attributes: gid10cc67,public X-Google-ArrivalTime: 2003-04-09 03:43:14 PST From: "Vladimir Afanasyev" <avv@systema.kiev.ua> Sender: "Vladimir Afanasyev" <avv@systema.kiev.ua> Reply-To: "Vladimir Afanasyev" <avv@systema.kiev.ua> Subject: Re: I need another solution Newsgroups: borland.public.cppbuilder.nativeapi X-User-Info: 62.244.14.114 62.244.14.114 X-Forwarded-For: 192.168.0.147 References: <3e930242@newsgroups.borland.com> <3e9312bb@newsgroups.borland.com> <3e9347ad@newsgroups.borland.com> NNTP-Posting-Host: 207.105.83.65 Message-ID: <3e93f0ca$1@newsgroups.borland.com> Date: 9 Apr 2003 03:07:06 -0800 X-Trace: newsgroups.borland.com 1049882826 207.105.83.65 (9 Apr 2003 03:07:06 -0800) Lines: 95 Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail