PDA

View Full Version : run as admin > از کجا بفهمیم برنامه با ادمین اجرا شده .



amin_unique
چهارشنبه 11 شهریور 1394, 10:20 صبح
سلام . من یه برنامه نوشتم که توش سریال هارد رو هم برای قفل نرم افزاری میخونه . اما اگه طرف با ادمین (run as administrator) برنامه رو باز نکنه ، سریال هارد شناسایی نمیشه .
حالا میخوام یه راهی پیدا کنم که معلوم شه طرف run as admin کرده یا مجبور باشه طرف حتما برای اجرای برنامه run as admin کنه .

مرسی .
در ضمن از ویژوال بیسیک استفاده میکنم .

amin_unique
چهارشنبه 11 شهریور 1394, 11:42 صبح
هیچ کی نظر نداره یعنی ؟

dnldrbnd
چهارشنبه 11 شهریور 1394, 12:35 عصر
1) به محل نصب برنامه خود برويد.
2) روي فايل اجرايي خود كليك راست كنيد و گزينه Properties را انتخاب كنيد.
3) پس از انتخاب گزينه Properties روي تب Compatibility كليك كنيد.
4) در آخر تيك گزينه Run This Program As An Administrator را بزنيد.

موفق و پيروز باشيد ....134839

amin_unique
چهارشنبه 11 شهریور 1394, 12:38 عصر
داداش وسط برنامه نویسی گفتم . اینو که میدونم .

golbafan
چهارشنبه 11 شهریور 1394, 12:44 عصر
شما باید مانیفست شامل پرمیژن ادمین رو به هدر برنامه تون اضافه کنید:


#include <winuser.h>
#define IDR_MANIFEST 1 // 2 for a DLL

IDR_MANIFEST RT_MANIFEST MOVEABLE PURE
{
"<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">
<asmv3:trustInfo xmlns:asmv3=""urn:schemas-microsoft-com:asm.v3"">
<asmv3:security>
<asmv3:requestedPrivileges>
<asmv3:requestedExecutionLevel
level=""asInvoker""
uiAccess=""false"" />
</asmv3:requestedPrivileges>
</asmv3:security>
</asmv3:trustInfo>
</assembly>"
}

isaac23
چهارشنبه 11 شهریور 1394, 17:33 عصر
داداش این چیه یه کم توضیح میدی؟

amin_unique
پنج شنبه 12 شهریور 1394, 20:28 عصر
یه توضیح کوچیک میدی ؟

meys34
پنج شنبه 12 شهریور 1394, 20:36 عصر
سلام

تابعش اینه:

Private Declare Function IsUserAnAdmin Lib "shell32" () As Long

Private Sub Command1_Click()
MsgBox IsUserAnAdmin
End Sub
اگر RunAsAdmin باشه خروجی تابع 1 هست و در غیر این صورت 0


متاسفانه چیزایی که بچه ها گفتن بی ربط بود...

golbafan
پنج شنبه 12 شهریور 1394, 20:38 عصر
سلام
توضیحات اینجا رو ببینید اگر متوجه نشدید من توضیح میدم

http://stackoverflow.com/questions/5755426/how-do-i-create-a-manifest-file-in-visual-basic-6-0

golbafan
پنج شنبه 12 شهریور 1394, 20:41 عصر
متاسفانه چیزایی که بچه ها گفتن بی ربط بود...

بی ربط نیست دوست عزیز
اینجوری که شما گفتید میشه فهمید برنامه با چه یوزری باز شده و کرکر کافیه که یک تغییر کوچیک در برنامه ایجاد کنه...

اما راه استانداردش اینه که کاری کنی برنامه به هیچ وجه بدون استفاده از run as admin اصلا باز نشه. تنها راهی که خود ماکروسافت گفته استفاده از manifest هست

meys34
پنج شنبه 12 شهریور 1394, 20:51 عصر
سلام مجدد

حق با شماست استفاده از manifest رو خودم هم ترجیح میدم...
اشتباه از من بود چون حواسم به موضوع تاپیک بود نه صورت مساله...


یه توضیح کوچیک میدی ؟
اینجا توضیحش هست...
http://barnamenevis.org/showthread.php?501738-run-as-administrator&p=2240306&viewfull=1#post2240306



البته اینجا اصلا بحث کرک نیست چون manifest خیلی خیلی راحت تر از if داخل برنامه قابل دور زدنه با ResourceEditor...