PDA

View Full Version : اجرای فایل به صورت پنهان !!! و Res فایل



Naser.g
دوشنبه 06 آبان 1387, 10:11 صبح
سلام دوباره !
سوال:
1- چه جوری میشه فایلی (صوتی) رو که به صورت Res در برنامه داریم رو به صورتی اجرا کنیم که تو هارد دیسک ریخته نشه که بشه پیداش کرد یا جوری ریخته بشه که پیدا نشه !!!
یه جورایی از داخل رم اجرا بشه یا همچین چیزی !:لبخند:
یا یه راهی که داخل برنامه با یه اکتویکسی مثل مدیا پلیر بشه اجراش کرد (بدون آدرس با دادن بایت شروع فایل Res ؟)


یا بودن فایل res یه فایل داریم رمز شده و صوتی هم هست میخوام اینو بعد اینکه تبدیل کردم خط به خط پخش کنه بره جلو تا آخر به صورت کامل اجرا نشه ؟ چه نوع متغییری استفاده کنم و چه جوری تیکه تیکه تبدیل کنم هر تیکه رو پخش کنم ؟ ؟

2- آیا میشه فایل Res رو که به exe چسبیده رو ازش جدا کرد ؟

ممنون موفق باشید

Naser.g
دوشنبه 06 آبان 1387, 10:48 صبح
برای پخش صوت به این صورت هست

Dim bytSound() As Byte ' Always store binary data in byte arrays!

bytSound = LoadResData(101, "WAVE")

If IsMissing(vntFlags) Then
vntFlags = SND_NODEFAULT Or SND_SYNC Or SND_MEMORY
End If

If (vntFlags And SND_MEMORY) = 0 Then
vntFlags = vntFlags Or SND_MEMORY
End If

sndPlaySound bytSound(0), vntFlags


حالا همین حالت برای فایل تصویر (فیلم)
تابعش چیه ؟

mpmsoft
دوشنبه 06 آبان 1387, 10:58 صبح
دوست عزیز فایل اجرایی رو نمی تونید از Resource اجرا کنید و باید حتما روی فایل ذخیره بشه

Naser.g
دوشنبه 06 آبان 1387, 11:30 صبح
سلام
عزیز برادر
فایل exe نیست
فایل تصویر (فیلم) هست (حجم حدود 30 مگ)
-------------------------------------------------
الان من فایل تصویریم تو Res درام بازش میکنم میریزم تو آرایه از نوع بایت
حالا چه جوری پخشش کنم ؟
پس من یه تابع میخوام بتونه پسوند Avi یا Wmv یا هر چی رو به صورت آرایه بهش بدم پخش کنه همین
توجه داشته باشین فایل رو نمیخوام بعد ذخیره کردم پخش کنم با همون آرایه میخوام پخش بشه
ممنون میشم کسی کمک کنه.

r0ot$harp
دوشنبه 06 آبان 1387, 11:49 صبح
سلام
عزیز برادر
فایل exe نیست
فایل تصویر (فیلم) هست (حجم حدود 30 مگ)
-------------------------------------------------
الان من فایل تصویریم تو Res درام بازش میکنم میریزم تو آرایه از نوع بایت
حالا چه جوری پخشش کنم ؟
پس من یه تابع میخوام بتونه پسوند Avi یا Wmv یا هر چی رو به صورت آرایه بهش بدم پخش کنه همین
توجه داشته باشین فایل رو نمیخوام بعد ذخیره کردم پخش کنم با همون آرایه میخوام پخش بشه
ممنون میشم کسی کمک کنه.

دوست عزیز برای فایل های EXE همچین کاری می شه کرد . که البته بسیار پیچیده می باشد .

در مورد فایلهای صوتی و تصویری تا اینجایی که من می دونم این امکان وجود نداره که رو هارد ریخته نشه . در ضمن کامپایل یه فایل 30MB می دونی چقدر طول می کشه ؟ :متعجب::متعجب::متعجب::متعجب:: یطان::شیطان::عصبانی++::عصبان ++: .




باتشکر احسان

Naser.g
دوشنبه 06 آبان 1387, 11:55 صبح
احسان جان کامپایل نمی خواد
تست کردم تبدیل و ... 30 ثانیه وقت میگیره حدودا
احتمال زیاد یه همچین چیزی هست که تیکه تیکه فایل رو بدی و اون پخش کنه باز قسمت بعدی !!! یا کلا آرایه رو بدی اون پخش کنه
وفتی برای فایل صوتیش هست برای تصویری هم باید باشه دیگه ؟!


Dim bytSound() As Byte ' Always store binary data in byte arrays!

bytSound = LoadResData(101, "WAVE")

If IsMissing(vntFlags) Then
vntFlags = SND_NODEFAULT Or SND_SYNC Or SND_MEMORY
End If

If (vntFlags And SND_MEMORY) = 0 Then
vntFlags = vntFlags Or SND_MEMORY
End If

sndPlaySound bytSound(0), vntFlags
منبع خوبی نمیشناسین ؟
Msdn رو گشتم چیزی ندیدم
سایت های منبع خوب سورس کد Vb چه سایت هایی هستن ؟

2- آیا میشه فایل Res رو که به exe چسبیده رو ازش جدا کرد ؟؟

mpmsoft
دوشنبه 06 آبان 1387, 13:15 عصر
با این کد می تونی بدون ذخیره در فایل ، فایل صوتی از Resource پخش کنی


Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long


Public Enum SoundTypes
SoundSync = &H0
SoundASync = &H1
SoundMemory = &H4
SoundLoop = &H8
SoundNoStop = &H10
SoundNoDefault = &H2
End Enum


Public Sub PlaySound(ResNameID As Variant, ResType As Variant, SoundFlags As SoundTypes)
sndPlaySound StrConv(LoadResData(ResNameID, ResType), vbUnicode), SoundFlags
End Sub
'Example on how to use it
PlaySound "NameOfSound", "Sound", SoundASync Or SoundMemory

Naser.g
دوشنبه 06 آبان 1387, 13:41 عصر
دست گلت درد نکنه
همین کارو نمیشه با فایل تصویری کرد ؟
یعنی میگین هیچ راهی نداره ؟
با پسوند asf هم نیمشه ؟
ممنون

mpmsoft
دوشنبه 06 آبان 1387, 14:29 عصر
اینم دقیقا اون چیزی که می خوای

Naser.g
سه شنبه 07 آبان 1387, 08:14 صبح
دستت درد نکنه
فقط یه چیزی برای من روی تابع Send message صبر میکنه منتظر جواب ولی....
کار این تابع چیه ؟!
برای شما کار کرد؟
بازم ممنون

mpmsoft
سه شنبه 07 آبان 1387, 08:56 صبح
دوست عزیز این کد در زمان اجرا فقط کار می کنه یعنی باید ابتدا فایل Exe بسازی و بعد امتحان کنی
در محیط IDE کار نمی کنه

Naser.g
سه شنبه 07 آبان 1387, 09:29 صبح
آقا ایولا
یه توضیح لطف میکنی در مورد تابع send message بدی ممنونت میشم
Avi هایی که من میدم بهش رو قبول نمیکنه نمیدونم چه نوع Avi بدم !!!
موفق باشی

Naser.g
سه شنبه 07 آبان 1387, 10:23 صبح
پسوند قابل پخشش Micro Soft RLE است که کیفیت یوخ !
اگه پسوند دیگه بشناسه خوبه وگرنه به درد نمیخوره :((

Naser.g
سه شنبه 07 آبان 1387, 17:53 عصر
I Wating ...

Naser.g
چهارشنبه 08 آبان 1387, 12:25 عصر
mpmsoft جان میشه در مورد اجرای فایل اجرایی به بدون ریختن درون هارد هم یه منبع بدی
ممنون

Naser.g
دوشنبه 13 آبان 1387, 08:37 صبح
سلام دوباره
دوستان من هنوز به نتیجه نرسیدم
این برنامه هر نوع پسوندی رو قبول نمیکنه (پسوند هایی هم که قبول میکنه کیفیت خوبی ندارن + صدا ندارن !)

راهنمایی PLS

Naser.g
یک شنبه 17 آذر 1387, 17:08 عصر
دوستان کسی نمیتونه کمکی بکنه ؟:گریه::گریه: