PDA

View Full Version : حرفه ای: اضافه كردن تاريخ شمسي به ويندوز با Shamsi_XP



BOB
جمعه 03 مهر 1388, 15:39 عصر
سلام

Shamsi XP به صورت رايگان و كدباز، تحت GPL v3 ارائه ميگردد، با اين اميد كه مفيد واقع شود. هر گونه تغيير، توسعه و انتشار تحت GNU Lesser General Public License مورد تاييد است. لطفا در صورت تمايل به توسعه اين نرم‌افزار، سورس نسخه‌هاي تغيير يافته و توسعه داده شده خود را در اين تاپيك قرار دهيد.

هدف بنده از اين پروژه:
1- نمايش تاريخ شمسي با فرمت قابل تغيير، در TrayClock ويندوز (ساعت موجود در نوار وظيفه).
2- استفاده از تاريخ شمسي جاري سيستم (همان روز) به صورت سراسري و بوسيله توابع Time كه خروجي LongTimeFormat دارند.


راه حلي كه بنده از آن استفاده كردم، صرف نظر كردن از DateTimeStamp استاندارد (مشكل خاصي بوجود نخواهد آمد) و اضافه كردن رشته حاوي تاريخ شمسي به TimeStamp استاندارد و به جاي فيلد "tt" در آن است. براي فعال بودن و بروز شدن خوردكار آن هم يك Hook Driver طراحي كردم كه با تغيير زمان، به طور خودكار مقادير فيلدهاي 1159 و 2359 از LOCALE_SYSTEM_DEFAULT (همان فيلد "tt") را آپديت كند.
براي آپديت كردن مقادير مربوطه، هم از تغيير مستقيم آنها در رجيستري و يا SetLocaleInfoW ميتوان استفاده كرد.

جهت توسعه درايور مذكور نياز به تسلط در زمينه سيستم پيام رسان ويندوز و هوكهاي ويندوز مي‌باشد. جهت اطلاعات بيشتر در اين زمينه‌ها به مبحث "Messages and Message Queues" در MSDN و مقاله "نگاهي اجمالي به هوكهاي ويندوز" در شماره سوم مجله برنامه‌نويس، مراجعه كنيد.

البته توجه داشته باشيد كه با استفاده از اين نرم‌افزار، تاريخ شمسي جاري سيستم به تمامي فيلدهاي زماني كه به صورت بلادرنگ Format مي‌شوند (مثلا صفحات properties، Details، Events و ...) نيز اضافه مي‌شود، كه دليل آن اينست كه تاريخهاي مذكور به فرمت Double ذخيره شده بوده و در هنگام نمايش Recode مي‌گردند كه به همين دليل با اضافه شدن فيلد "tt" به فرمت نمايش آنها، تاريخ شمسي جاري به آنها پيوست مي‌شود.

سورس برنامه Shamsi XP به زبان دلفي (CodeGear 07) پيوست شده است.
فايل اجرايي (كامپايل شده) و آماده برنامه (http://www.mshams.ir/files/programs/ShamsiXp.rar)

البته بديهيست كه اين برنامه راه حل كاملا مناسبي جهت اضافه كردن تاريخ شمسي به سيستم عامل ويندوز نيست اما بنده شديدا اميدوارم كه با استفاده از اين برنامه به عنوان نقطه شروع (هرچند ساده و كوچك)، بتوان در پايان به راه‌حل مناسبي براي "اضافه كردن تاريخ شمسي به ويندوز" دست يافت. (اين مهم، ميسر نميشود مگر با كمك دوستان و عزيزان فعال در بخش "امنيت نرم‌افزار")

ali_kolahdoozan
سه شنبه 07 مهر 1388, 21:32 عصر
نورتون فایل اجرایی را اصلا نزاشت از zip در بیاریم . در جا پاکش کرد

BOB
چهارشنبه 08 مهر 1388, 13:28 عصر
نورتون فایل اجرایی را اصلا نزاشت از zip در بیاریم . در جا پاکش کرد

متاسفانه Norton و Mcafee با بيشتر Packer ها و Protector ها مشكل دارند. اما خيالتان راحت باشد فايل اجرايي هيچ مشكلي ندارد (با Rlpack فشرده شده)

asemoun.blogfa
دوشنبه 11 مرداد 1389, 16:02 عصر
ببخشید اصلا فایلی با این آدرس موجود نمی باشد
همنگامی که به http://www.mshams.ir/programs/ShamsiXp.rar می رویم ارور می دهد

BOB
چهارشنبه 13 مرداد 1389, 11:56 صبح
ببخشید اصلا فایلی با این آدرس موجود نمی باشد
همنگامی که به http://www.mshams.ir/programs/ShamsiXp.rar می رویم ارور می دهد

بله ببخشید، اصلاح شد:

http://www.mshams.ir/files/programs/ShamsiXp.rar
http://www.mshams.ir/files/programs/ShamsiXpSource.rar

123456654321
شنبه 30 مرداد 1389, 12:08 عصر
این فایل ویروسی هست لطفا اگه امکان داره چکش کنید.trojan

golbafan
سه شنبه 23 شهریور 1389, 11:41 صبح
لطفا بدون اينكه پكش كنيد بفرستيد بياد
مرسي

BOB
سه شنبه 23 شهریور 1389, 18:59 عصر
لطفا بدون اينكه پكش كنيد بفرستيد بياد
مرسي

سلام

بفرمایید، این هم فایل فشرده نشده: