الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية معرفة اسم المستخدم Windows

بدأه dicomdk في 11 يوليو 2008 · 6 رد · 1,229 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ممكن كيفية معرفة اسم مستخدم الوندوز ؟

اريد انشاء ملف في

c:\\Documents and Settings\\HowToKnowThis\\Bureau

اللغة C

المرجوا الافادة او على الاقل كلمة مساعدة للبحث في ججوجل

شكرا

#2

في طريقة تروح عند متغيرات النظام وتعرف اسم الجهاز .

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#3

بالـ APIs

و ستحصل على مسار My Documents الخاص بالمستخدم :D

تم تعديل هذه المشاركة بواسطة msayed2004 في 11 يوليو 2008 في 15:27

#4

السلام عليكم

أولا هذا الأمر لا يتعلق بلغة بعينها ولكن بنظام التشغيل نفسه ,, عموما طالما نتكلم عن الويندوز فيوجد أكثر من طريقة :

1- جلب اسم المستخدم عن طريق الدالة GetUserName و تعريفها كالتالي :

[color= #0000ff;]BOOL GetUserName[color= #000000;](

 

    LPTSTR lpBuffer,	[color= #007f00;]// address of name buffer 

    LPDWORD nSize 	[color= #007f00;]// address of size of name buffer 

   [color= #000000;]);

كما ترى فإن اول باراميتر هو عنوان تخزين الاسم(بفر) ,, ثاني باراميتر هو مؤشر الى طول البفر ,, مثال :

[color= #0000ff;]char buffer[color= #000000;][MAX_PATH[color= #000000;]] [color= #000000;]= [color= #A31515;]"";

DWORD sz [color= #000000;]= MAX_PATH;

GetUserName[color= #000000;](buffer, [color= #000000;]&sz[color= #000000;]);

printf[color= #000000;]([color= #A31515;]"%s [color= #666666; font-weight: bold;]n[color= #666666; font-weight: bold;]n", buffer[color= #000000;]);

-------------

2- يمكن معرفة عنوان البروفايل للمستخدم الحالي(C:\Documents and Settings\xxx) عن طريق الـEnvironmentsVariables ,, كل عملية يتم انشاءها يكون ذلك مصاحب لعمل Initialize لمتغيرات العملية و يشمل ذلك وضع الـEnvironmentsVariables حيث تكون متواجدة دائما في البروسس ,, وتكون على هذا الشكل :

windir=D:\WINDOWS
SystemDrive=D:

يمكن معرفة احد المتغيرات عن طريق الدالة :

 

DWORD GetEnvironmentVariable[color= #000000;](

 

    LPCTSTR lpName,	[color= #007f00;]// address of environment variable name 

    LPTSTR lpBuffer,	[color= #007f00;]// address of buffer for variable value 

    DWORD nSize 	[color= #007f00;]// size of buffer, in characters 

   [color= #000000;]);

كمثال :

[color= #0000ff;]char buffer[color= #000000;][MAX_PATH[color= #000000;]] [color= #000000;]= [color= #A31515;]"";

GetEnvironmentVariable[color= #000000;]([color= #A31515;]"USERPROFILE", buffer, MAX_PATH[color= #000000;]);

printf[color= #000000;]([color= #A31515;]"VariableName: %s [color= #666666; font-weight: bold;]n",buffer[color= #000000;]);

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#5

وفي ال Qt تقدر تقراها عن طريق

QProcess::environment

وإذا حاب تغير شيئ

QProcess::setEnvironment

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#6

لاتعليق بعد الأخ GamingMaster الله يجزاة خير

تحياتي

Mysql

hm7bzmeskyfcyhsdmdv6.gif

#7

تم الحل بفضلكم ... شكرا

مواضيع مشابهة