ورود

View Full Version : چگونگی بدست آوردن محل نصب ویندوز جاری



Ali_Fallah
شنبه 30 آذر 1387, 18:15 عصر
چگونه میشود محل نصب ویندوز جاری را در یک برنامه اکسس بدست آورد؟

---
جستجو (http://www.barnamenevis.org/forum/showthread.php?p=660904#post660904) - عدم حذف تیبلها (http://www.barnamenevis.org/forum/showthread.php?p=628352#post628352)-گزارش صفحه به صفحه (http://www.barnamenevis.org/forum/showthread.php?p=607184#post607184)-جلوگیری از تکرار داده ها به همراه پیغام خطا (http://www.barnamenevis.org/forum/showthread.php?p=401742#post401742)-کیبورد (http://www.barnamenevis.org/forum/showthread.php?p=295711#post295711)نمایش پیغام خطای فارسی بجای انگلیسی (http://barnamenevis.org/forum/showthread.php?p=151236#post151236)- تصویر در گزارش (http://barnamenevis.org/forum/showthread.php?p=571116#post571116)- منو ابتکاری راست چین (http://barnamenevis.org/forum/showthread.php?t=76793) - تایید ثبت رکورد (http://barnamenevis.org/forum/showthread.php?p=287844#post287844)- ایجاد فایل راهنما! (http://barnamenevis.org/forum/showthread.php?p=274822#post274822)- چاپ رکورد جاری (http://barnamenevis.org/forum/showthread.php?p=189055#post189055)-لوگوی XP (http://barnamenevis.org/forum/showthread.php?p=367655#post367655)

Mahsa Hatefi
شنبه 30 آذر 1387, 23:02 عصر
دوست عزيز

فرم winpath رو باز كنيد و ......

شاپرک
یک شنبه 01 دی 1387, 10:18 صبح
Environ("windir")





Environ(i)
Result=====

i=1 ALLUSERSPROFILE=C:\Documents and Settings\All Users
i=2 APPDATA=C:\Documents and Settings\bbaskara\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=BENOY-RAJ
ComSpec=C:\WINDOWS\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\benoy
LOGONSERVER=\\PILOT03
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Sys tem32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\MSSQL7\BINN;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WS F;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 7 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0703
ProgramFiles=C:\Program Files
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\benoy\LOCALS~1\Temp
TMP=C:\DOCUME~1\benoy\LOCALS~1\Temp
USERDNSDOMAIN=
USERDOMAIN=
USERNAME=benoy
USERPROFILE=C:\Documents and Settings\benoy
VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
windir=C:\WINDOWS

nabeel
یک شنبه 01 دی 1387, 18:40 عصر
سلام

گزینه اشاره شده در تاپیک دو از ساختاری استاندارد تری بهره میبره

در گزینه اول از تابع GetWindowsDirectory که یکی از توابع استاندارد ویندوز میباشد , استفاده به عمل آومده

تابع Environ یکی از توابع داخلی Access بوده و اقدام به فراخوانی اطلاعات از Environment String Table میکنه

یکی از نقائص اون تابع تاثیر پذیریش از Security Permission هستش و امکان عدم اجرای آن بر روی سیستمهایی با دسترسی محدود شده وجود دارد و گذشته از آن امکان دستکاری مشخصه های Environment String Table وجود داشته که همین امر استفاده از این تابع رو با اندکی شک همراه میکنه .

در هر صورت استفاده از گزینه اول مناسبتر و استاندارد تر به نظر میرسه , گو اینکه مقدار کمی تاخیر رو در استفاده از اون شاهد هستم .

شاپرک
دوشنبه 02 دی 1387, 07:29 صبح
ممنون بله کاملا درسته .
ولی من که COMPUTERNAME و USERNAME خیلی استفاده میکنم (البته VB)

nabeel
دوشنبه 02 دی 1387, 15:42 عصر
آقا/خانم شاپرك
سلام
اون نظر من دال بر نفي اين تابع نيست ولي با توجه به اينكه اين تابع قادر به ارائه اطلاعات خاصي ميباشد كه بعضاً در بخشهايي از نرم افزارها به جهت ايجاد محدوديت مورد استفاده قرار ميگيرند و از سويي قابل دستكاري نيز ميباشند لذا توصيه به عدم استفاده از اين تابع نمودم جهت مشاهده خروجيهاي اين تابع اقدام به اجراي اين تابع با انديسهاي عددي نماييد .

با تشكر

شاپرک
سه شنبه 03 دی 1387, 07:28 صبح
بله من هم گفتم که کاملا درسته ...
نظر من هم دال بر نفي نظر شما نبود !!!!!
چون من و کاربر هام محدودیتی نداریم من خیلی استفاده میکنم .
لزومی به تکرار توضیح نبود .

RESMAILY
پنج شنبه 19 دی 1387, 09:39 صبح
بسمه تعالي
با سلام قدري دير شده ولي اين كد در حالت عادي جواب مي دهد.
Public Declare Function GetSystemDirectory Lib "Kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Function Sys_Dir() As String
Dim Buffer As String
( Buffer = String(255, 0
GetSystemDirectory Buffer, 255
( Sys_Dir = Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1
"\"& Sys_Dir = Sys_Dir
End Function