يه كار جالب تو وي بي ..حرفه ايهاش بخونن

سلام....كسي ميتونه راهنمايي كنه چطور ميشه برنامه رو جوري تنظيم كرد كه وقتي لود بشه يه آهنگ توپ هم اجرا كنه؟

مديا پلير رو نميگم ...مثلا برنامه ي keygen كه عكس يه خانوم مياره بعد آهنگ ميزاره ...

آقا من ميخوام آهنگمو تو برنامه جوري ذخيره كنم كه تو هر كامپيوتري رفت اجرا بشه ..ميشه؟

باتشكر...آنتي اوپن سورس
 
اينكه سورس بسته بود بابا..از اينا زياد دارم.
سورس باز ميخواستم ببينم كدش چيه

برا دومي بعدا بحث ميكنم ...تو قرار عمومي مشهد دليلشو گفتم
 
Anti-Opensource گفت:
اينكه سورس بسته بود بابا..از اينا زياد دارم.
سورس باز ميخواستم ببينم كدش چيه
از توابع API ويندوز استفاده كنيد. ولي فقط ميتونيد فايل هاي WAV رو اجرا كنيد.
تو هر نوع ويندوز هم اجرا ميشه >>>
کد:
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

به جاي lpszSoundName مسير فايل واو يا متن فايل واو به صورت Unicode اگر خواسته باشي مثل keygen به صورت Embed باشه و به جاي Flag هم ميتوني از برنامه API Viewer در سري برنامه هاي Visual Studio براي SND موارد مورد نظر خودت رو پيدا كني. الان يادم نيست ولي اگه يادم اومد يا پيدا كردم تابع كامل رو برايتان مينوسم. :wink:
 
پيام كجاي مشهد ميشيني؟
راستي ممنون
ولي بازم اين نبود
عزيزم من ميخوام آهنگ رو 01 كنم ..
 
يعني باينري ديگه ..شبيه دي ال ال dll
ببين ميخوام يه فايل exe بدم بيرون كه طرف رو يه دكمه كليك كنه بعد اون يه تيكه آهنگ بزاره ...
مثلا موقع بالا اومدن نرم افزار كه فايل ها لود ميشن ميخوام آهنگ بزارم حوصله ي كاربر سر نره ..
ميتوني كمك كني؟
 
Anti-Opensource گفت:
يعني باينري ديگه ..شبيه دي ال ال dll ... »»»


خوب همونه ديگه.
شما ميخواي كه برنامه همزمان با اجرا شدن آهنگ هم بزنه. مثل كي ژن. اينو فهميدم.
شما با Vb .NET يا VB 6.0 كار ميكنه فرقي نداره. اون تابع رو اين طوري بايد اجرا كني. حالا اين تابع ممكنه توسط يك فرمان كليد اجرا بشه و يا توسط خود برنامه به صورت خودكار فرقي نداره.
01 رو هم اينطوري كن : توي Resource فايل EXE كه ميخواي بدي بيرون آهنگ مورد نظر خودت رو قرار بده. با اين روش شما فقط يك فايل EXE داري كه آهنگ هم تو خودشه.

بعد اين تابع رو هر جور دوست داري اجرا كن تا آهنگت بزنه :
کد:
Dim WaveFilePath as String
   Dim SoundFlag as Long
   Const SND_ASYNC = &H1
   Const SND_MEMORY = &H4
      WaveFilePath = StrConv(LoadResData(ResID, ResType), vbUnicode(
      SoundFlag = SND_ASYNC + SND_MEMORY
      sndPlaySound WaveFilePath, SoundFlag
البته قبلا بايد اون تابع دكلار بالايي كه قبلا گفتم رو به ماژول اضافه كنيد.
 
از لطفت ممنون..اگه تونستي فايل پروژه شو زيپ كن بزار ببينم چه جوريه..
اگه تونستي ...بازم ممنون
 
از لطفت ممنون دوست عزيز ولي فكر كنم فايل هاي شما ناقص بود..آخه error داد كه پيام جان فايل پروژه رو جا گذاشتن ..من كه نفهميدم معني چي بود ..هر كار كردم باز نشد ..
ممنون ..با تشكر حامي مايكروسافت
 
خيلي ببخشيد. مثل اينكه اشكال از فايل زيپ بود.
من فايل رو درست ميكنم. ميتونيد از كده اي زير هم استفاده كنيد.
يك پروژه جديد ايجاد كنيد و يك فرم و يك ماژول براش در نظر بگيريد.
اين كدها را در فرم كپي كنيد. فرم بايد يك كليد به نام Command1 و يكي به نام Command2 داشته باشه :
کد:
Option Explicit

Private Sub Command1_Click()
   PlaySound "SOUND", "S1"
End Sub

Private Sub Command2_Click()
   PlaySound
End Sub

اين كدها رو هم در ماژول كپي كنيد :
کد:
Option Explicit

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

Public Sub PlaySound(Optional ByVal ResType As String, Optional ByVal ResID As String)
  Dim WaveFilePath As String
  Dim SoundFlag As Long
  Const SND_ASYNC = &H1
  Const SND_MEMORY = &H4
  Const SND_NODEFAULT = &H2
    
    If ResType = "" And ResID = "" Then
      SoundFlag = SND_NODEFAULT
      GoTo NoSound
     End If
    WaveFilePath = StrConv(LoadResData(ResID, ResType), vbUnicode)
    SoundFlag = SND_ASYNC Or SND_MEMORY

NoSound:
    sndPlaySound WaveFilePath, SoundFlag
End Sub

يك فايل ريسورس براي برنامه ايجاد كنيد و يك فايل WAV به دلخواه به صورت ذيل در آن قرار بديد :
کد:
ResType: "SOUND"   ResID:  "S1"

پروژه را كامل ذخيره(Save) كنيد.
بعد پروژه رو اجرا كنيد. با فرمان كليد 1 فايل واو اجرا و با فرمان 2 قطع ميشود.

به هر حال من فايل بالايي دوباره ارسال ميكنم. منتها اين دفعه با پسوند RAR
موفق باشيد.
 

جدیدترین ارسال ها

بالا