ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] WindowsMediaPlayer¼½©ñ­µÀÉ°ÝÃD

¦^´_ 1# lshsien
²K¥[¤@­Ó·sªº¼Ò¶ô¡A±N¤U­±ªº¥N½XÖ߶K¨ì¦¹¼Ò¶ô¤¤¡G
  1. Option Explicit

  2. #If VBA7 Then
  3.   Private Declare PtrSafe Function waveOutGetNumDevs Lib "winmm.dll" () As Long
  4.   Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringW" (ByVal lpstrCommand As LongPtr, ByVal lpstrRetumString As LongPtr, ByVal uReturnLength As Long, ByVal hwndCallback As LongPtr) As Long
  5.   Private Declare PtrSafe Function GetShortPathNameW Lib "kernel32" (ByVal lpszLongPath As LongPtr, ByVal lpszShortPath As LongPtr, ByVal cchBuffer As Long) As Long
  6.   Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  7.   Private Declare PtrSafe Function PathFindExtension Lib "shlwapi.dll" Alias "PathFindExtensionW" (ByVal pszPath As LongPtr) As LongPtr
  8.   Private Declare PtrSafe Function lStrLen Lib "kernel32.dll" Alias "lstrlenW" (ByVal lpString As LongPtr) As Long
  9.   Private Declare PtrSafe Sub CopyMemoryByPtr Lib "kernel32.dll" Alias "RtlMoveMemory" (ByVal Destination As LongPtr, ByVal Source As LongPtr, ByVal Length As Long)
  10. #Else
  11.   Private Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long
  12.   Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringW" (ByVal lpstrCommand As Long, ByVal lpstrRetumString As Long, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  13.   Private Declare Function GetShortPathNameW Lib "kernel32" (ByVal lpszLongPath As Long, ByVal lpszShortPath As Long, ByVal cchBuffer As Long) As Long
  14.   Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  15.   Private Declare Function PathFindExtension Lib "shlwapi.dll" Alias "PathFindExtensionW" (ByVal pszPath As Long) As Long
  16.   Private Declare Function lStrLen Lib "kernel32.dll" Alias "lstrlenW" (ByVal lpString As Long) As Long
  17.   Private Declare Sub CopyMemoryByPtr Lib "kernel32.dll" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
  18. #End If

  19. Private Type FileList
  20.   FileName  As String
  21.   ShortName As String
  22. End Type

  23. Private FileList() As FileList
  24. Private ListCount  As Long

  25. Public Sub Clean()
  26.   ListCount = 0
  27.   Erase FileList
  28. End Sub

  29. Public Property Get Item(ByVal Index As Long) As String
  30.   If Index > 0 And Index <= ListCount Then
  31.     Item = FileList(Index).FileName
  32.   End If
  33. End Property

  34. Public Property Let Item(ByVal Index As Long, ByVal FileName As String)
  35.   Dim I As Long
  36.   If Index = ListCount + 1 Then
  37.     ListCount = ListCount + 1
  38.     ReDim Preserve FileList(1 To ListCount)
  39.   End If
  40.   If (Index > 0) And (Index <= ListCount) Then
  41.     With FileList(Index)
  42.       .FileName = FileName
  43.       
  44.       I = Len(FileName)
  45.       If I > 0 Then
  46.         .ShortName = GetShortPathName(FileName)
  47.       Else
  48.         .ShortName = vbNullString
  49.       End If
  50.     End With
  51.   End If
  52. End Property

  53. Public Function ItemAdd(ByVal FileName As String) As Long
  54.   Dim I As Long
  55.   I = ListCount + 1
  56.   Item(I) = FileName
  57.   ItemAdd = I
  58. End Function

  59. Public Function ItemReMove(ByVal Index As Long) As Boolean
  60.   If Index > 0 And Index <= ListCount Then
  61.     With FileList(Index)
  62.       .FileName = vbNullString
  63.       .ShortName = vbNullString
  64.     End With
  65.   End If
  66. End Function

  67. Public Sub StartPlay()
  68.   Dim I         As Long
  69.   
  70.   If waveOutGetNumDevs > 0 Then
  71.     For I = 1 To ListCount Step 1
  72.       With FileList(I)
  73.         If Len(.ShortName) Then
  74.           Select Case UCase$(ExtractFileExtension(.ShortName))
  75.             Case ".WAV": mciSendString StrPtr("open " & .ShortName & " type waveaudio alias JofornMusic"), 0, 0, 0
  76.             Case ".MDI": mciSendString StrPtr("open " & .ShortName & " type sequencer alias JofornMusic"), 0, 0, 0
  77.             Case Else:   mciSendString StrPtr("open " & .ShortName & " alias JofornMusic"), 0, 0, 0
  78.           End Select
  79.           mciSendString StrPtr("play JofornMusic FROM 0"), 0&, 0, 0
  80.           Do While Not IsEnd
  81.             Sleep 50
  82.             DoEvents
  83.           Loop
  84.           mciSendString StrPtr("close JofornMusic"), 0&, 0, 0
  85.         End If
  86.       End With
  87.     Next I
  88.   End If
  89. End Sub

  90. Private Function IsEnd() As Boolean
  91.   Dim I         As Long
  92.   Dim strStatus As String
  93.   
  94.   strStatus = String$(256, vbNullChar)
  95.   mciSendString StrPtr("status JofornMusic mode"), StrPtr(strStatus), 256, 0
  96.   I = InStr(strStatus, vbNullChar)
  97.   If I > 1 Then
  98.     IsEnd = UCase$(Left$(strStatus, I - 1)) = "STOPPED"
  99.   Else
  100.     IsEnd = True
  101.   End If
  102. End Function

  103. '从¸ô径´£¨ú¤å¥ó¦Z缀¦W
  104. Public Function ExtractFileExtension(ByVal strPath As String) As String
  105.   #If VBA7 Then
  106.     Dim ptrExt As LongPtr
  107.   #Else
  108.     Dim ptrExt As Long
  109.   #End If
  110.   Dim ExtLen As Long
  111.   
  112.   strPath = strPath & vbNullChar
  113.   ptrExt = PathFindExtension(StrPtr(strPath))
  114.   If ptrExt Then
  115.     ExtLen = lStrLen(ptrExt)
  116.     If ExtLen > 0 Then
  117.       ExtractFileExtension = String(ExtLen, vbNullChar)
  118.       CopyMemoryByPtr StrPtr(ExtractFileExtension), ptrExt, ExtLen * 2
  119.     End If
  120.   End If
  121. End Function

  122. Public Sub StopPlay()
  123.   mciSendString StrPtr("close JofornMusic"), 0&, 0, 0
  124. End Sub

  125. Private Function GetShortPathName(ByVal FileName As String) As String
  126.   Dim I       As Long
  127.   Dim strTemp As String
  128.   
  129.   strTemp = Space$(256)
  130.   I = GetShortPathNameW(StrPtr(FileName), StrPtr(strTemp), 256)
  131.   If I > 0 Then GetShortPathName = Left$(strTemp, I)
  132. End Function
½Æ»s¥N½X
±N­ì¦³ªº¥N½X­×§ï¬°¡G
  1. Public Sub macro_test2()

  2.     Dim Bk_A As String
  3.     Bk_A = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
  4.     '-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  5.    
  6.     Dim book_name As String
  7.     Dim book_path As String
  8.    
  9.     book_name = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
  10.     book_path = ThisWorkbook.Path
  11.    
  12.     Clear
  13.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¦U¦ì®È«È±z¦n" & ".wav"
  14.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_6ÂI" & ".wav"
  15.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¤À50" & ".wav"
  16.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¤À" & ".wav"
  17.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¶}©¹" & ".wav"
  18.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¥x¥_ªº" & ".wav"
  19.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¨®¦¸5" & ".wav"
  20.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¨®¦¸0" & ".wav"
  21.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¨®¦¸0" & ".wav"
  22.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¦¸" & ".wav"
  23.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_°ªÅK" & ".wav"
  24.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_¥_¤W" & ".wav"
  25.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_ªº¦C¨®§Y±N¶i¯¸½Ð«e©¹" & ".wav"
  26.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_²Ä¤G¤ë¥x" & ".wav"
  27.     ItemAdd ThisWorkbook.Path & "\" & "±`¥Î¼s¼½" & "\" & "°ê»y_·f­¼¨Ã¯d·N¤ë¥x¶¡»ØÁÂÁÂ" & ".wav"
  28.     StartPlay
  29. End Sub
½Æ»s¥N½X
§¹¦¨¤W­±ªº¨â¨B¾Þ§@«á¹B¦æmacro_test2´ú¸Õ¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

ª`¡G¼Ó¤Wªº¥N½X¤£»Ý­nMediaPlayer±±¥ó¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

¦^´_  Joforn

½Ð°Ý¼½©ñ¥H«á¦p¦óÁ{®É¼È°±©Î¤¤Â_¼·©ñ
ML089 µoªí©ó 2016-1-22 20:04
  1. Public Property Get Pause() As Boolean
  2.   Dim I         As Long
  3.   Dim strStatus As String
  4.   
  5.   strStatus = String$(256, vbNullChar)
  6.   mciSendString StrPtr("status JofornMusic mode"), StrPtr(strStatus), 256, 0
  7.   I = InStr(strStatus, vbNullChar)
  8.   If I > 1 Then
  9.     Debug.Print Left$(strStatus, I - 1)
  10.     Pause = UCase$(Left$(strStatus, I - 1)) = "PAUSED"
  11.   End If
  12. End Property

  13. Public Property Let Pause(ByVal Value As Boolean)
  14.   If Value Xor Pause Then
  15.     If Value Then
  16.       mciSendString StrPtr("pause JofornMusic"), 0, 0, 0
  17.     Else
  18.       mciSendString StrPtr("resume JofornMusic"), 0, 0, 0
  19.     End If
  20.   End If
  21. End Property
½Æ»s¥N½X
½Õ¥ÎPause=True´N¥i¥H¼È°±¡APause=FalseÄ~Äò¼½©ñ¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

mciSendString¨ç¼Æ¬O¥Î¨Ó¼½©ñ¦h´CÅé¤å¥óªºAPI«ü¥O¡A¥i¥H¼½©ñMPEG,AVI,WAV,MP3,µ¥µ¥¡A¨Ï¥Î¦¹API¨ç¼Æ¥i¥H³Ð«Ø¤@­Ó²©öªº¼½©ñ¾¹¡A¤U­±¤¶²Ð¥¦ªº¨Ï¥Î¤èªk¡G
¡@¡@¸Ó¨ç¼Æ¦³¥|­Ó°Ñ¼Æ¡G
²Ä¤@­Ó°Ñ¼Æ¡G­nµo°eªº©R¥O¦r²Å¦ê¡C¦r²Å¦êµ²ºc¬O:[©R¥O][³]³Æ§O¦W][©R¥O°Ñ¼Æ].
²Ä¤G­Ó°Ñ¼Æ¡Gªð¦^«H®§ªº½w½Ä°Ï,¬°¤@«ü©w¤F¤j¤pªº¦r²Å¦êÅܶq.
²Ä¤T­Ó°Ñ¼Æ¡G½w½Ä°Ïªº¤j¤p,´N¬O¦r²ÅÅܶqªºªø«×.
²Ä¥|­Ó°Ñ¼Æ¡G¦^½Õ¤è¦¡¡A¤@¯ë³]¬°¹s
ªð¦^­È¡G¨ç¼Æ°õ¦æ¦¨¥\ªð¦^¹s¡A§_«hªð¦^¿ù»~¥N½X

¤@¡B±`¥Î©R¥O
1.¥´¶}¡]Open¡^¡A®æ¦¡¡GOpen ³]³Æ¦W[type ³]³Æ«¬¦¡][alias §O¦W]
Dim mName as string
mName = "f:\mpeg\mpeg1.avi"
mciSendString "open " & mName & " type MPEGVideo Alias​​ JofornMusic parent %u Style %u notify",0&, 0, 0
¡@¨ä¤¤¡G
open ¾Þ§@©R¥O
mName ¥þ¸ô®|¤å¥ó¦W
type MPEGVideo ¬O«ü¥´¶}MPEG,AVIµ¥Ãþ«¬¡A¦pªG¤£¥[³o¤@¥y¡A´N¬O¥´¶}WAV,MP3µ¥
Alias​​ JofornMusic ©w¸q¤F¸Ó¾Þ§@ªº§O¦W¬°movie¡A«áÄò¾Þ§@¥u­n«ü©ú§O¦W§Y¥i
parent %u ·½
Style %u ¼Ë¦¡
notify ³qª¾
2.¼½©ñ¡]Play¡^¡A®æ¦¡¡GPlay ³]³Æ¦W[from °_ÂI][to ²×ÂI]
mciSendString "play JofornMusic", 0&, 0, 0
mciSendString "play JofornMusic fullscreen", 0&, 0, 0 '¥þ«Ì¼½©ñ
¡@¡@3.¼È°±¡]Pause¡^¡G
mciSendString "pause JofornMusic", 0&, 0, 0
¡@¡@4.Ä~Äò¡]Resume¡^¡G
mciSendString "resume JofornMusic", 0&, 0, 0
¡@¡@5.°±¤î¡]Stop¡^¡G
mciSendString "stop JofornMusic", 0&, 0, 0
¡@¡@6.​​Ãö³¬¡]Colse¡^¡G
mciSendString "close JofornMusic", 0&, 0, 0
¡@¡@7.«e¶i¨ì¤U¤@­Ó¦ì¸m¡G
mciSendString "step JofornMusic", 0&, 0, 0
¡@¡@8.«á°h¨ì¤W¤@­Ó¦ì¸m¡G
mciSendString "step JofornMusic reverse", 0&, 0, 0
9.«e¶i©Î«á°hN ­Ó¦ì¸m(¨ä¤¤N<0 §Yªí¥Ü«á°h)
mciSendString "step JofornMusic by " & str(N), 0&, 0, 0
¡@¡@10.Àò¨ú·í«e¼½©ñ¦ì¸m¡G
Dim ST As String*64
mciSendString "status JofornMusic position", st, len(st), 0
¡@¡@11. ​​Àò¨ú´CÅ骺Á`ªø«×¡G
mciSendString "status JofornMusic length", st, len(st), 0
l=val(st) 'l´N¬O©Ò¼½©ñ¤å¥óªºªø«×
¡@¡@12.Àò¨ú¼½©ñ·í«eª¬ºA¡G
Dim ST As String*64
mciSendString "status JofornMusic mode", ST, Len(ST), 0
If Left(ST, 7) = "stopped" Then (³B²z¥N½X) '¼½©ñ§¹²¦
¡@¡@13.´`Àô¼½©ñ¡G
mciSendString "play JofornMusic repeat", 0&, 0, 0

¤G¡B±±¨îÁn­µ¤j¤p(1-1000)¡G
Dim V As Long
mciSendString "status JofornMusic volume",&V, len(v), 0 'V¬OÀò¨úªº­µ¶q¤j¤p­È¡C
V = 50
mciSendString "setaudio JofornMusic volume to ¼Æ­È", 0, 0, 0 'V¬O³]¸mªº­µ¶q­È

¤T¡B³]¸m¼½©ñ¦ì¸m.(»Ý¨Æ¥ý³]©w®É¶¡®æ¦¡)¡A®æ¦¡¡GSeek ³]³Æ¦W[to ¦ì¸m| to start | to end]
Dim P1 as Long, P2 as Long
P1 = 100: P2 = 3000
mciSendString "seek JofornMusic to ", P1, 0, 0 'P1¬O·í«e°_©l¦ì¸m¡A³æ¦ì¡G²@¬í
mciSendString "seek JofornMusic to start", 0&, 0, 0 '©w¦ì¨ì¶}ÀY¦ì¸m
mciSendString "play JofornMusic", 0&, 0, 0 '©w¦ì«á¦A¼½©ñ
©ÎªÌ¡G
mciSendString "play JofornMusic FROM P1 to P2",0&, 0, 0 'P1¬O°_©l¦ì¸m¡AP2¬O°±¤î¦ì¸m¡C³æ¦ì¡G²@¬í
mciSendString "seek JofornMusic to end", 0&, 0, 0 '©w¦ì¨ì³Ì«á¦ì¸m

¥|¡B¦b«ü©w±±¥ó¤W¼½©ñµøÀW¡G
mciSendString "open AVI ¤å¥ó¦Wparent hWnd style child", 0&, 0, 0
¨ä¤¤¡AhWnd ¬O±±¥óªº¥y¬`
°õ¦æ¤W­z©R¥O¤§«á¡A¼v¤ù·|³Q©ñ¸m¦b±±¥óªº¥ª¤W¨¤¡A¥B¼v¤ùªº¤j¤p¤£¨ü±±¥ó¤j¤pªº¼vÅT¡A¦pªG·Q­n§ïÅÜ
¼v¤ù¼½©ñªº¦ì¸m¤Î¤j¤p¡A¥i¥H¦b°õ¦æplay «ü¥O«e¥ý°õ¦æput «ü¥O¡A®æ¦¡¦p¤U¡G
mcisendString "put AVI ¤å¥ó¦Wwindow at XY [Width Height]", 0&, 0, 0
¨ä¤¤¡GX¡BY¬°¼v¤ù¥ª¤W¨¤§¤¼Ð¡AWidth¡BHeight¬°¼v¤ùªº¼e°ª«×

¤­¡B¦pªG¼½©ñµøÀWÁÙ¥i±±¨î«G«×(1-2000)
Dim B As Long
mciSendString "status JofornMusic brightness", B, 0, 0 'B¬OÀò¨úªº«G«×­È¡C
B = 50
mciSendString "setvideo JofornMusic brightness to " & B, &0, 0, 0 'B¬O³]¸mªº«G«×­È

¤»¡B¿ý­µ³]¸m¡G
¡@¡@¿ý­µ«e¡A¥Î¥H¤U»y¥yªì©l¤Æ
¡@¡@1.³]¬°8¦ì¡G
mciSendString "set wave bitpersample 8", "", 0, 0
¡@¡@2.³]¬°11025Hz
mciSendString "set wave samplespersec 11025", "", 0, 0
¡@¡@3.³]¬°¥ßÅéÁn¡G
mciSendString "set wave channels 2", "", 0, 0
¡@¡@4.¹ê²{PCM®æ¦¡¡]¤£¤@©w¥¿½T¡^¡G
MCISENDSTRING "set wave format tag pcm","", 0, 0
¡@¡@5.¶}©l¿ý­µ¡G
mciSendString "close JofornMusic",0&,0,0
mciSendString "open new type WAVEAudio alias JofornMusic",0&,0,0
mciSendString "record JofornMusic",0&,0,0
¡@¡@6.​​«O¦s¿ý­µ¨ìc:\123.wav
mciSendString "stop JofornMusic",0&,0,0
mciSendString "save JofornMusic C:\123.wav",0&,0,0
mciSendString "close JofornMusic",0&,0,0

¤C¡B¶}Ãö¥úÅX¡G
mciSendString "set cdaudio door open", "", 0, 0 '¥´¶}
mciSendString "set cdaudio door close", "", 0, 0 'Ãö³¬

¤K¡B¨ä¥¦
¡@¡@1.³]¸m³]³Æªº¦UºØª¬ºA¡]Set¡^
Set alias_name[audio all off][audio all on][time format ms]:
Set©R¥O¥Î¨Ó³]¸m³]³Æªº¦UºØª¬ºA.¦p:ÀR­µ,¦³Án­µ,®É¶¡®æ¦¡¬°²@¬íµ¥.
¡@¡@2.¨ú±o³]³Æªºª¬ºA¡]Status¡^
Status alias_name[length][mode][position]:
Status©R¥O¥Î¨Ó¨ú±o³]³Æªºª¬ºA.¦p:¸Ó´CÅé¤å¥óªºªø«×,¸Ó´CÅé¤å¥ó©Ò³Bª¬ºA,¸Ó´CÅé¤å¥óªº·í«e¦ì¸mµ¥. ªºªø«×,¸Ó´CÅé¤å¥ó©Ò³Bª¬ºA,¸Ó
´CÅé¤å¥óªº·í«e¦ì¸mµ¥.
°Ñ¦Ò¥N½X¡G
TCHAR fileName[]="D:\­Íªº¤åÀÉ\my music\·Ý·Ýªwªº¯ù.mp3";
TCHAR shortName[MAX_PATH];
GetShortPathName(fileName,shortName,sizeof(shortName)/sizeof(TCHAR));
TCHAR cmd[MAX_PATH+10];
wsprintf(cmd,"play %s",shortName);
mciSendString(cmd,"",NULL,NULL);
¡]½Õ¥ÎmciSendString²Ä¤@­Ó°Ñ¼Æ¶Ç¡§play ¤å¥ó¥þ¸ô®|¡¨´N¥i¥H¡A¡§¤å¥ó¥þ¸ô®|¡¨³Ì¦n¶Çµ´¹ï¸ô®|¡A¤£«Øijwanghepeng10¨º¼Ë­È¶Ç»¼¤å¥ó¦W¡C
¥t¥~¦pªG¤å¥ó¥þ¸ô®|¤¤§t¦³ªÅ®æªº¸Ü­n¨Ï¥ÎGetShortPathNameÂà´«¦¨µu¸ô®|¡C ¡^
1

µû¤À¤H¼Æ

¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

¦^´_  Joforn
¦^´_  c_c_lai

·Q¤£¹D EXCEL °£­pºâ¥~¡AÁٯ༷©ñ­µ¼Ö¡A¦U¸ô­^¶¯ªº¿ãÅDµoªíÅýEXCEL¶V¨Ó¶V ...
ML089 µoªí©ó 2016-1-23 15:22

­n¥ý¦w¸Ë¬ÛÃöªº¸Ñ½X¾¹¡A¤£¹L¥»¤H¨S¦³¨ãÅé´ú¸Õ¹L¡A§A¥i¥H¦Û¤v´ú¸Õ¤U¡A¦ý­nª`·Nªº¬O½Õ¥Î®É«ü©w¦n¥Î¨ÓÅã¥Üµe­±ªºµ¡Åé¥y¬`¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

        ÀR«ä¦Û¦b : ¡i»X½ªªº¦Û¥Ñ¡j¤H±`¦b¤°»ò³£¥i¥H¦Û¥Ñ¦Û¦bªº®É­Ô¡A«o³Q³oºØÀH¤ß©Ò±ýªº¦Û¥Ñ»X½ª¡AµêÂY®É¥ú¦Ó²@µLıª¾¡C
ªð¦^¦Cªí ¤W¤@¥DÃD