# Native Code > برنامه نویسی در Delphi > مباحث عمومی دلفی و پاسکال >  فعال کردن يوزر ADMIN در ويندوز 7

## h_mohamadi

با سلام 
مي خواستم بدانم با چه دستوري در دلفي يوزر administrator را  در ويندوز 7 فعال کنم ؟
اگر در ويندوز 7 دستور زير زده شود در صورتي که cmd را با Run as administrator باز کرده باشيم اين کار را انجام مي دهد.
حالا من مي خواستم بادلفي اين کار را بکنم بايد چيکار کنم؟؟
خواهش مي کنم من را راهنمايي فرمائيد

----------


## سعید صابری

Net user Administrator /active:yes or no

----------


## h_mohamadi

> Net user Administrator /active:yes or no



اما در دلفي چيکار کنم که cmd به صورت  Run as administrator باز شده و اين دستور تايپ و Enter زده شود

----------


## سعید صابری

بارها گفته شده در همین سایت یک سرچ بزن پیدا می کنی

----------


## h_mohamadi

> بارها گفته شده در همین سایت یک سرچ بزن پیدا می کنی



ممنونم از پاسختان اما من هرچی سرچ کردن با زبان دلفی نبود؟؟؟؟
ضمنا من می خواهم این دستور در یوزری که admin نیست زده شود و باید  cmd را با Run as administrator باز شود تا اين کار را انجام بشه.
ممنون می شوم من را راهنمایی کنید

----------


## h_mohamadi

خواهش می کنم من را راهنمایی فرمائید

----------


## Mask

> ضمنا من می خواهم این دستور در یوزری که admin نیست زده شود و باید cmd را با Run as administrator باز شود تا اين کار را انجام بشه.


در این سیستم باید یوزری با دسترسی ادمین وجود داشته باشد.
آیا همچین یوزری رو میسازید.؟

----------


## h_mohamadi

> در این سیستم باید یوزری با دسترسی ادمین وجود داشته باشد.
> آیا همچین یوزری رو میسازید.؟



نه من فقط می خواهم تیک acunt is disable یوزر administrator را بردارم که بتوانم یوز admin را ببینم

----------


## Mask

نیازی به این کار نیست.
شما میتونید خودتون یوزری با این سطح دسترسی بسازید.
علت اینکه در ویندوز سون این کاربر به صورت پیشفرض غیرفعال میباشد ، برای مسایل امنیتیست.
پیشنهاد میشه شما هم با این یوزر کاری نداشته باشید و یک یوزر با سطح دسترسی administrator بسازید.

----------


## h_mohamadi

> نیازی به این کار نیست.
> شما میتونید خودتون یوزری با این سطح دسترسی بسازید.
> علت اینکه در ویندوز سون این کاربر به صورت پیشفرض غیرفعال میباشد ، برای مسایل امنیتیست.
> پیشنهاد میشه شما هم با این یوزر کاری نداشته باشید و یک یوزر با سطح دسترسی administrator بسازید.


ممنونم ولی من برای نصب برنامه ام مجبور به نصب بر روی یوزر admin هستم
می شود راهنمایی کنید باید چطوری این کار را انجام دهم

----------


## Mask

اینجا 2 تا سوال پیش میاد:
1 - شما میخواهید برنامتون رو Run as administrator اجرا کنید.(این به این معنی نیست که شما باید یوزر administrator رو فعال کنید تا بتونید از این گزینه استفاده کنید. بلکه منظور اجرای این فایل با پرمیشن ها و دسترسی های یوزر administrator هست.)
2- شما میخواهید برنامتون رو در یوزری غیر از یوزر administrator تحت یوزر administrator باز کنید.

----------


## h_mohamadi

> اینجا 2 تا سوال پیش میاد:
> 1 - شما میخواهید برنامتون رو Run as administrator اجرا کنید.(این به این معنی نیست که شما باید یوزر administrator رو فعال کنید تا بتونید از این گزینه استفاده کنید. بلکه منظور اجرای این فایل با پرمیشن ها و دسترسی های یوزر administrator هست.)
> 2- شما میخواهید برنامتون رو در یوزری غیر از یوزر administrator تحت یوزر administrator باز کنید.


ممنونم من می خواهم exe ای را بنویسم که در آن اگر ویندوز 7 بود خودش یوز admin را فعال کند و ویندوز را log off کند و کاربرم با یوزر admin وارد شود .حالا می خواستم دوستان من را راهنمایی کنند

----------


## Mask

شما اول باید کار با Manifest ها رو یاد بگیری. تا بتونید برنامتون رو در سون Run as administrator  باز کنید.
در مرحله بعدی با دستور ShellExecute (واقع در یونیت Shellapi ) و پارامترهاش میتونی دستور net user administrator /active:yes  رو اجرا کنی.
سپس با ShellExecute  و استفاده از دستور کامندی Shutdown -L میتونید سیستم رو لوگ آف کنید.
موفق باشید.

----------


## h_mohamadi

> شما اول باید کار با Manifest ها رو یاد بگیری. تا بتونید برنامتون رو در سون Run as administrator  باز کنید.
> در مرحله بعدی با دستور ShellExecute (واقع در یونیت Shellapi ) و پارامترهاش میتونی دستور net user administrator /active:yes  رو اجرا کنی.
> موفق باشید.


می شود بگوئید 
1- از دستور ShellExecute چطوری باید استفاده کنم؟
2- آیا این فایل Manifest که من گذاشته ام درست است و برای ویندوزهای 64 و 32 کار می کند؟
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
      type="win32"
    processorArchitecture="X86"
        name="DelphiApplication"
        version="1.0.0.0"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

با تشکر فراوان از شما استاد گرامی

----------


## h_mohamadi

خواهش می کنم من را راهنمایی فرمائید

----------


## Mask

> خواهش می کنم من را راهنمایی فرمائید


من شما رو کامل راهنمایی کردم. خودتون شروع به کار کنید. هر جا مشکل داشتید بپرسید. تا اونجا که من دیدم ، کسی براتون پروژه آماده نمیکنه ، اینجا.
خودتون تلاش کنید تا چیزی یاد بگیرید. اینکه کسی براتون پروژه رو بنویسه و شما کپی پیست کنی ، چیزی به معلوماتتون اضافه نمیشه.
موفق باشید.

----------


## h_mohamadi

> من شما رو کامل راهنمایی کردم. خودتون شروع به کار کنید. هر جا مشکل داشتید بپرسید. تا اونجا که من دیدم ، کسی براتون پروژه آماده نمیکنه ، اینجا.
> خودتون تلاش کنید تا چیزی یاد بگیرید. اینکه کسی براتون پروژه رو بنویسه و شما کپی پیست کنی ، چیزی به معلوماتتون اضافه نمیشه.
> موفق باشید.


ممنونم ولی من می خواستم بدانم 
1- فایل manifest که من گذاشته ام درست است یا نه؟
2- برای دستوری که شما فرموده اید من این را نوشته ام آیا درست است یا نه؟

ShellExecute(handle,'open',PChar('net user administrator /active:yes'), '','',SW_HIDE);
ولی نمی دانم اشکالم از کجاست که کار نمی کند؟؟؟
با سپاس فراوان از شما دوستان گرامی که با راهنمایی خوبتان به من مبتدی یاد می دهید

----------


## Mask

> ممنونم ولی من می خواستم بدانم 
> 1- فایل manifest که من گذاشته ام درست است یا نه؟
> 2- برای دستوری که شما فرموده اید من این را نوشته ام آیا درست است یا نه؟
> 
> ShellExecute(handle,'open',PChar('net user administrator /active:yes'), '','',SW_HIDE);
> ولی نمی دانم اشکالم از کجاست که کار نمی کند؟؟؟
> با سپاس فراوان از شما دوستان گرامی که با راهنمایی خوبتان به من مبتدی یاد می دهید


فایل manifest درسته.
دستور ShellExecute رو باید اینجوری بنویسی.
ShellExecute(Handle, 'open', PChar('cmd.exe'), PChar('/c net user administrator /active:yes'), nil, SW_SHOW);

----------


## h_mohamadi

> فایل manifest درسته.
> دستور ShellExecute رو باید اینجوری بنویسی.
> ShellExecute(Handle, 'open', PChar('cmd.exe'), PChar('/c net user administrator /active:yes'), nil, SW_SHOW);


ممنونم از راهنمایی شما
اما باز هم دستورات کار نکرد و یوزر admin فعال نشد؟؟
نمی دانم مشکلم از کجاست؟
خواهش می کنم راهنمایی بفرمائید دستورات من هم این است و فایل manifest هم کنار فایلم هست

if copy(GetWindowsVersion,1,9)='Windows 7' then
  begin
    if GetUserFromWindows<>'administrator' then
       begin
        ShellExecute(Handle, 'open', PChar('cmd.exe'), PChar('/c net user administrator /active:yes'), nil, SW_SHOW);
        ExitWin(EWX_LOGOFF);
       end;
  end;

----------


## SayeyeZohor

فانكشن GetUserFromWindows رو ميذاريد؟
ShellExecute اجرا نمي شه ؟ اصلا به اين خط مي رسه؟

----------


## SayeyeZohor

http://www.computerperformance.co.uk...r_activate.htm

----------


## h_mohamadi

> فانكشن GetUserFromWindows رو ميذاريد؟
> ShellExecute اجرا نمي شه ؟ اصلا به اين خط مي رسه؟


همه چیز انجام می شود و دستور ShellExecuteهم اجرا می شود اما پس از LOGOFF یوزر فعال نمی شود

----------


## Mask

> همه چیز انجام می شود و دستور ShellExecuteهم اجرا می شود اما پس از LOGOFF یوزر فعال نمی شود


کد کاملتون رو بزارید.

----------


## h_mohamadi

> کد کاملتون رو بزارید.



if copy(GetWindowsVersion,1,9)='Windows 7' then
  begin
    if GetUserFromWindows<>'administrator' then
       begin
        ShellExecute(Handle, 'open', PChar('cmd.exe'), PChar('Net user administrator /active:yes'), nil, SW_SHOW);
        ExitWin(EWX_LOGOFF);
       end;
  end;

----------


## Mask

به این نمیگن کامل .
منظورم کل پروژتونه.

----------


## سعید صابری

نمیدونم این لینک دیدی یا نه
شاید ندیده باشی


https://barnamenevis.org/showthread.p...84%D9%81%DB%8C

----------


## h_mohamadi

> نمیدونم این لینک دیدی یا نه
> شاید ندیده باشی
> 
> 
> https://barnamenevis.org/showthread.p...84%D9%81%DB%8C



دیده ام ولی چیزی متوجه نشدم!!!
کد مربوط به C++‎ است

----------


## h_mohamadi

دوستان خواهش می کنم کمکم کنید؟

----------


## Mask

من که از کدهاتون چیزی سر در نیاوردم.
انشا الله تو همین چند روز براتون مینویسم و اینجا میزارم.
البته کار به این سادگی رو خودتون باید انجام میدادید.

----------


## سعید صابری

> دیده ام ولی چیزی متوجه نشدم!!!
> کد مربوط به C++‎ است


 توابع api هستند

----------


## h_mohamadi

> من که از کدهاتون چیزی سر در نیاوردم.
> انشا الله تو همین چند روز براتون مینویسم و اینجا میزارم.
> البته کار به این سادگی رو خودتون باید انجام میدادید.



می شود من را راهنمایی کنید و یا کدی که فرموده اید را بگذارید

----------


## h_mohamadi

خواهش مي کنم راهنمايي کنيد

----------


## Mask

پستهای اضافی رو پاک کنید.
از ضمیمه میتونید ، این نمونه رو بگیرید.

----------


## h_mohamadi

> پستهای اضافی رو پاک کنید.
> از ضمیمه میتونید ، این نمونه رو بگیرید.


ممنونم ولی باز هم جواب نداد؟؟
نمی دانم مشکل از کجاست؟
یعنی پس از logoff باز هم من یوز admin را نمی بینم؟؟

----------


## Mask

مشکل از سیستم خودتونه.
من این برنامه رو سون تست کردم. مشکلی نداشت.

----------


## h_mohamadi

> مشکل از سیستم خودتونه.
> من این برنامه رو سون تست کردم. مشکلی نداشت.


ممنونم ولی مشکلی نداشت من برروی چند سیستم تست کرده ام

----------


## Mask

> ممنونم ولی مشکلی نداشت من برروی چند سیستم تست کرده ام


 یعنی چی؟ متوجه نشدم چی گفتی؟

----------


## h_mohamadi

> یعنی چی؟ متوجه نشدم چی گفتی؟


من در چند کامپيوتر رفتم و تيک فعال بودن يوزر admin  را برداشتم و بعد با يک يوز غير admin وارد شدم و فايل شما را اجرا کردم اما پس از لوگ آف مشاهده کرم که يوزر ADmin فعال نشده است؟؟؟
نمي دانم مشکلم از کجاست؟؟

----------


## Mask

> تيک فعال بودن يوزر admin را برداشتم


میشه بگی کدوم تیک.؟
منظورت از admin همون administrator هست دیگه؟
ویندوزتون 32 هست یا 64 بیت؟

----------


## h_mohamadi

> میشه بگی کدوم تیک.؟
> منظورت از admin همون administrator هست دیگه؟
> ویندوزتون 32 هست یا 64 بیت؟


تیک acunt is disable یوزر administrator را بردارم که بتوانم یوز administrator را ببینم 						
بله admin همان administrator است
هم 32 بيت است و هم 64 بيت

----------


## h_mohamadi

خواهش می کنم راهنمایی فرمائید

----------


## h_mohamadi

يکي از دوستان به ما کمک کند

----------


## h_mohamadi

خواهش مي کنم يکي از دوستان من را ياري کند

----------

