این مطلب رو جناب سنبله کار مطرح کردند .. به نظرم مطلب جالبیه ...گفتم بهتره براش یک تاپیک اختصاصی بزنیم .
بحث قبلی تو این تاپیک بود :
http://www.barnamenevis.org/sh...ad.php?t=49323
نقل قول:
نوشته شده توسط سنبله کار
Printable View
این مطلب رو جناب سنبله کار مطرح کردند .. به نظرم مطلب جالبیه ...گفتم بهتره براش یک تاپیک اختصاصی بزنیم .
بحث قبلی تو این تاپیک بود :
http://www.barnamenevis.org/sh...ad.php?t=49323
نقل قول:
نوشته شده توسط سنبله کار
با تشکر از شاپرک
چگونگی اجرای RUNTIME رو در صورت نصب آفیس رو هم توضیح بدید. ممنون
ضمن تشکر از اقا/خانم سنبله کار وشما شاپرک
اگه ممکنه از اول شروع کنید که چه مراحلی را باید طی کنیم
به نقل از اقای کامران کامرانی :
نقل قول:
در مورد RunTime که شاپرک عزیز مطالبش رو جمع آوری کرد باید بگم که در CD آفیس 2003 پوشه ای بنام FILES هست که در اون بازم پوشه ای بنام ACCRT که در این پوشه یه فایل نصبی بنام ACCESSRT هست اون رو نصب کن البته برای جواب گرفتن بایستی آفیس رو سیستم نصب نباشه یا اینکه موقع نصب آفیس ACCESS نصب نکنی. در این صورت برنامه ای که دراکسس درست کردی بصورت EXE در میاد ونمیتونی تغییری روش اعمال کنی چون اکسس نصب شده نداری. موفق باشی
من تا این اندازه بلد بودم شاید بقیه دوستان مطالب بیشتری بلد باشند
جهت استفاده از سوئیچ runtime /آدرسدهی محل نصب اکسس و خود برنامه مهم است و فکر کنم اگر نام فایلتان دارای فاصله خالی باشد یا مسیر نصب آفیستان دارای فاصله خالی باشد باید عبارت مسیر اکسس و نام فایلتان را داخل گیومه قرار دهید
ممنون (آقای سنبله کار)نقل قول:
نوشته شده توسط moustafa
از این که این مبحث مورد توجه قرار گرفت خوشحالم .
مراحل خیلی ساده هستند و در تاپیک قبلی که توسط شاپرک لینک شده آمده لطفا تست کنید و در صورت بروز اشکال بفرمائید .
به نظر من که بحث جالبیه اگه ممکنه همین جا ادامه بدید .
چشم پیشنهاد می کنم دوستانی که مرحله ورود با runtime را جواب گرفتن به این مرحله وارد بشن .
شما ممکنه هنگام انتشار برنامتون از این روش استفاده کنید اما آیا مطمئن هستید که کاربر خریدار برنامه شما حتما از همین راه وارد بشه چرا که اکثر کاربرها روی سیستمشون آفیس کامل دارن و خوب اگه با اکسس کامل بازش کنن برنامه شما فاقد اون قابلیت اولیه می شه .
پس باید کاری کنید که برنامه خودشو هنگام اجرا چک کنه که اگر کاربر اونو بدون runtime اجرا کرده بود خارج شده و به صورت runtime اجرا بشه
این کد می تونه هنگام لود اولین فرم اجرا بشه
if SysCmd(acSysCmdRuntime) = false then
Shell Chr(34) & "msaccess.exe" & Chr(34) & " " & Chr(34) & Application.CurrentProject.FullName & Chr(34) & " /runtime", vbMaximizedFocus
DoCmd.Quit acQuitPrompt
End If
چطوره ؟
أقای سنبله کار بفرمایید که این کد رو در کجا باید استفاده کرد ...
من فکر میکنم موقع اجرای برنامه یعنی لود شدن فرم اصلی برنامه .....
همونطور که عرض کردم این کد می تونه هنگام لود اولین فرم اجرا بشه
Private Sub Form_Load()
محل کد ...
End Sub
با تشکر
من الان تمرکز کافی ندارم ولی با یه برنامه اکسس دیگه میشه برنامه دیگه راتحت تاثیر قرار داد مثلا شیفت را از حالت قفل خارج کرد گزارشی را چاپ کرد.........
به این کد نیز میشه حمله کردیا نه ؟
درهمان مسیر اولیه که گفتید یه پوشه بنامvs run time
وجودداره کار اون چی ؟
البته من visual studio نصب کردم
دوست خوبم
این کد چون داخل فرم قرار داره با تبدیل به mde قابل حمله نیست و با هر بار لود شدن فرم ، کار می کنه .
مگر اینکه کاربر از اون فرم صرف نظر کنه که اگر روی تمام فرمها باشه باید از همشون صرف نظر کنه یا اینکه برنامه را decompile کنه که فقط پوسته فرمها را خواهد داشت و کد نویسیهای برنامه به دست نمی آیند که بتوان این قسمت آنها را جدا کرد و از بقیه برنامه استفاده کرد .
راست میگی اصلان mde را فراموش کرده بودم!!!
چون من خیلی ADP رودوست دارم ADE رو هم بهش اضافه کنید .نقل قول:
نوشته شده توسط moustafa
باسلام مجدد من کدی که آقای سنبله کار گفتند استفاده کردم جواب میده ولی با شیفت اینتر دوباره میشه به طراحی و... دسترسی داشت
چطور این گزینه رو غیر فعال کنیم
البته در صورت نصب اکسس
ممنونم
البته همونطور که عرض کردم شما برای توزیع برنامه از این کد استفاده می کنید پس باید توجه داشته باشید که :
1-یک کپی از برنامه خود کنار بگذارید
2-کد بالا را برای runtime به فرمها اضافه کنید
3- کد زیر را برای غیر فعال کردن shift استفاده کنید
CurrentProject.Properties.Add "AllowBypassKey", False
4- فایل خود را به MDE یا ADE تبدیل کنید
من استفاده کردم ولی نشد...
روی کدوم مشکل دارید :
runtime یا shift
من تمام کدهایی که گفتید استفاده کردم ولی بازم میشه با شیفت اینتر دوباره به طراحی دسترسی داشت ضمنآ گفتید که کد مربوطه چک میکنه که با RUNTIME اجرا کرده اید یانه وگرنه اجرا نمیشه ولی روی سیستم من اصلا RUNTIME نصب نیست و اجرا هم میشه تازه روی سیستم دیگه ای هم امتحان کردم همین کدها رو ولی براحتی باز میشه
بصورت RUNTIME اجرا میشه ولی با شیفت اینتر هم دیتا بیس باز میشه...
البته این کد CurrentProject.Properties.Add "AllowBypassKey", False رو هم در ON OPEN فرم کپی کردم حالا نمیدونم درسته یا نه...
کدی که برای غیر فعال کردن shift داده بودم برای اکسس پروجکت بود شما باید از این کد استفاده کنید .
Private Sub Form_Open(Cancel As Integer)
ChangeProperty "AllowBypassKey", DB_Boolean, False
If SysCmd(acSysCmdRuntime) = False Then
Shell Chr(34) & "msaccess.exe" & Chr(34) & " " & Chr(34) & Application.CurrentProject.FullName & Chr(34) & " /runtime", vbMaximizedFocus
DoCmd.Quit acQuitPrompt
End If
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
برای آزمایش هم این نمونه را قرار می دهم .
ممنون . من کد رو تست نکردم ولی فایل ضمیمه رو نگاه کردم ظاهراً بایستی فایل رو MDE کرد تا جواب بده
...
ضرورتا MDE نیاز نیست ولی کار از محکم کاری عیب نمی کنه.نقل قول:
نوشته شده توسط kamran kamrani
متشکرم خوب بود ...
اگر تست کردید پیشنهاد می کنم شما و دیگر دوستان برای اینکه از هر نظر نتیجه بگیریم روی نمونه آزمایش کنید تا ببینیم راه نفوذ داره یا نه ؟
ممنون
بابا اگر تو برنامه های سنگین هم بشه اینجوری محدود سازی کرد که حرف نداره
اگر میشه اصلش رو بدون غیر فعال کردن شیفت آپلود کنید
کدش رو که نوشتم
اینم اصلش
بهترین راه وقشترین راه این که برای برنامه خود اینستال بسازیدو برنامه خود را بصورت نصبی در اوردید
که برای این کهر برنامه مختلفی هست
من برنامه دارم که تمام این مراحا را انجام مدهد فقط در کمال شرمندگی قیمت که نرم افزار فوق را خریدم گران است ولی حاضرم درصورتی که کسانی که نرم افزار فوق را خواستارهستنی به بشتر از 10 نفر برسد بصورت نصف قیمت بفروشم
در اینم تبلقیست که فوشنده اصلی نرم افزار از ان کرده
تبدیل اکسس به exe
تبدیل database های مبتنی بر access به exe ، بدون نیاز به نصب office و تغییر در database شما ، قابلیت install و uninstall کردن از روی CD ، امکان اضافه کردن Help فارسی ، ایجاد shortcut با ایکون مورد نظر شما ، امکان ایجاد product code ، code upgrade و version بندی محصولات ، اضافه کردن agreement license ، banner Image و غیره...
قیمت: 20000 اصل نرم افزار تومان
دوست عزیز :
1- اینجا جای تبلیغات و فروش نرم افزار نیست برای اینکار بخشهایی در نظر گرفته شده .
2- قبل از معرفی امکانات هر نرم افزار نام اون باید معرفی بشه .
3- غلطهای املایی زیادی در پستهای شما دیده می شه لطفا اصلاح کنید .
با تشکر
جناب mrz9000 بزودی برنامه Access Developer را در یک پست جدید (لینک در سایت خودم) آپ لود میکنم تا دوستان استفاده کنند(حجمش 3تا 4 مگا بایت است، وقت زیاد میبره) دوستان منتظر باشند حتماً .
م.فضائلی
در جواب جناب mrz9000حتماً به تاپیک https://barnamenevis.org/showthread.php?t=53844یه سر بزنید جالبه دوستان
دوستان من نخواستم تبلیغ کنم نه چیزی ولی اینوبگه که نرم افزار که من مگم اسمش این نیست
ودر این زمین دیگرصحبت نمکنم
mdecompilerنقل قول:
میشه اسم نرم افزار رو بگین تا منم اونو تهیه کنم؟
با سلام
با تشکر از جناب سنبله کار که فایل ارزنده ای را در پست 28# قرار دادند
یک مساله ای که وجود داره این هست که وقتی فایل پسورد داشته باشه هنگام باز کردن اون، پسورد دوبار پرسیده می شود فایل زیر با پسورد 123 ضمیمه شده است
اگر کسی بتونه این مشکل را رفع کنه ممنون میشیم
با تشکر
اساتيد گرامي ، دوستان ، حرفه اي ها ، لطفا
راهكاري برای سوال پست قبل وجود دارد؟
در ضمن اينكه دستور Shell نوشته شده در فايل مذكور ، as double مي باشد
اما بیشتر فکر می کنم به این دلیل است که چک می کند و چون فایل در حالت runtime اجرا نشده آنرا می بندد و دوباره اما در حالت runtime باز می کند و از اینرو دوبار پسورد پرسیده می شود
بنابراین فکر می کنم برای این هم مثل macro security level باید به دنبال راهکار خارجی باشیم یعنی نه استفاده از کد داخل خود فایل تا قبل از باز کردن فایل و اجرای کد ، آنرا از اول در حالت runtime باز کند
اگر دستور جايگزيني یا راهکار دیگری هم باشد خيلي خوب است
با تشكر
همانطور که گفتم راهکار خارجی لازم است که برای این منظور به لینک زیر مراجعه نمایید
https://barnamenevis.org/showthread.p...=1#post1878232
موفق باشید