Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Visual Basic + Winamp
Last Updated: May 10 2005 21:05, Started by
cielo
, Apr 24 2004 17:31
·
0
#1
Posted 24 April 2004 - 17:31
Imi trebuie la programul pentru lucrarea de diploma o chestie de genul urmator :
- am 2 controale : Run Winamp si Play. Vrea ca la apasarea butonului Run Winamp sa porneasca winampul - asta am reusit s-o fac cu functia "shell" : var = shell("C:Program FilesWinampwinamp.exe",1).In MSDN scrie ca dupa apelarea functiei shell aceasta intoarce TaskID-ul ferestrei deschise La apasarea butonului de Play vrea sa dau focus pe Winamp si sa-i trimit shorcut-ul "x" cu ajutorul functiei SendKeys, numai ca nu merge focus-ul, adica AppActivate nu functioneaza corect. Aveti idee de ce nu merge? MAi jos introduc codul programului poate va dati seama care este problema. Dim TaskID Private Sub cmdRunWinamp_Click() TaskID = Shell("C:Program FilesWinampwinamp.exe", 1) End Sub Private Sub cmdPlay_Click() AppActivate (TaskID) SendKeys "x" End Sub Mercimesc frumos |
#3
Posted 24 April 2004 - 21:10
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub Command1_Click() ShellExecute hwnd, "open", "C:Program FilesWinampwinamp.exe", vbNullString, "", 1 End Sub Private Sub Command2_Click() AppActivate "Winamp 5.03a" SendKeys "s" End Sub Alta varianta mai eleganta ... care merge pe toate os/urile... |
#4
Posted 24 April 2004 - 21:50
Faza e ca merge asa cu "Winamp 5.03" dar merge decat sa dau play. In modentul in care o melodie ruleaza, fereasta isi schimba nulele, deci nu mai corespunde cu "Winamp 5.03". Tocmai de asta m-am chinuit sa folosesc TaskID-ul ala.
|
#5
Posted 25 April 2004 - 23:36
Uite c-am gasit un 'workaround'
Dim xxx As Double Public Sub cmdLoad_Click() Winamp_Load End Sub Sub Winamp_Load() xxx = Shell("C:program fileswinampwinamp.exe", vbNormalFocus) End Sub Sub Act() AppActivate xxx SendKeys "x" End Sub Private Sub cmdPlay_Click() Act End Sub E practic acelasi cod doar ca am pus codul principal in proceduri vizibile in tot programul... Daca modifici intr-o procedura declarata cu private o variabila, acea variabila_modificata nu e vazuta de restul programului....presupun |
#8
Posted 26 April 2004 - 23:24
Am urmat sfaturile tale si am ajuns la urmatorul cod :
Dim xxx As Double Public Sub cmdLoad_Click() Winamp_Load End Sub Sub Winamp_Load() xxx = Shell("C:program fileswinampwinamp.exe", vbNormalFocus) End Sub Sub Act() AppActivate xxx End Sub Private Sub cmdPlay_Click() Act SendKeys "x" End Sub Private Sub cmdPrevious_Click() Act SendKeys "z" End Sub Private Sub cmdStop_Click() Act SendKeys "v" End Sub Private Sub cmdPause_Click() Act SendKeys "c" End Sub Private Sub cmdNext_Click() Act SendKeys "b" End Sub Private Sub cmdUnload_Click() Unload Me End Sub Si se pare ca aceeasi problema....Invalide procedure call or argument. Nu stiu ce dreaq sa-i mai fac ca m-am saturat de eroarea asta |
#9
Posted 27 April 2004 - 10:19
Cum stai cu API?
Calea cea curata: folosesti EnumWindows si gasesti hwnd-ul ferestrei principale dupa care folosesti PostMessage care-i trimite ferestrei ce mesaje vrei tu, fara sa mai fii nevoit sa o activezi. |
#10
Posted 27 April 2004 - 13:23
Habar nu am sa folosesc Windows Api....am citit ceva de pe net dar nu am inteles mare lucru (
|
|
#11
Posted 27 April 2004 - 16:41
hm... banuiam eu.
Visual Basic e foarte simplu si usor de folosit, insa cum incerci sa programezi chestii mai serioase, cum iti pune piedica. eu zic sa incerci alta solutie. cauta pe la nullsoft sa vezi daca nu cumva winampul se poate comanda prin parametrii. |
#12
Posted 27 April 2004 - 19:43
Man e chiar atat de greu de folosit API-ul Windowsului? Ca daca sigur asta imi rezolva problema ma apuc sa invat api-uri ca doar nu oi fi ultimul tantalau...trebuie sa inteleg cum functioneaza....sper
|
#13
Posted 29 April 2004 - 16:41
de rezolvat ti-o rezolva sigur. pt invatat api iti trebuie initial cunostinte vaste de C. pt a invata API iti trebuie minim 6 luni, iar ca biblie iti recomand cartea lui Charles Petzold.
insa pt problema ta poate se indura cineva sa te ajute. merge cu API si in VB. eu nu prea am timp. |
#14
Posted 29 April 2004 - 16:48
Din pacate cunostintele mele de C se rezuma la cateva programe facute in timpul facultatii. Si cum 6 luni nu am timp...raman sa sper ca poate isi face mila de mine sau poate nu-mi mai trebuie programul ca mai am 2 examene pana la licenta si nu am chef de invatat (
|
#15
Posted 29 April 2004 - 17:11
pai asta e pt licenta? sau pt tine personal.
daca nu sint prea indiscret ... |
|
#16
Posted 29 April 2004 - 18:17
Pentru licenta...am facut un dispozitiv care se conecteaza la portul serial si programul asta ar trebui sa faca receptia semnaalelor primite pe serial si sa faca ceva de genul programelului la care ma chinui eu....adica la codul de genul " 0x " sa imi porneasca winamp-ul, la 0w sa faca play etc.
daca era pentru uz personal foloseam girder-ul si nu mai imi bateam atat capul. |
#17
Posted 29 April 2004 - 19:54
Pai nu merge din acelasi motiv pt care nu mergea si primul cod :nu: . Uite m-am obosit si ti-am scris "mura-n gura" tot codul varianta revizuita si adaugita...
Option Explicit Dim xxx As Double Public Sub Winamp_Load() xxx = Shell("C:program fileswinampwinamp.exe", vbNormalFocus) End Sub Public Sub Act(ByVal key As String) AppActivate xxx SendKeys key Me.SetFocus End Sub Private Sub cmdLoad_Click() Winamp_Load End Sub Private Sub cmdPlay_Click() Act "x" End Sub Private Sub cmdPrevious_Click() Act "z" End Sub Private Sub cmdStop_Click() Act "v" End Sub Private Sub cmdPause_Click() Act "c" End Sub Private Sub cmdNext_Click() Act "b" End Sub Private Sub cmdUnload_Click() Unload Me End Sub PS: Codul merge doar daca Winamp este in background ferestrei principale(a programului asta), daca winamp e prezent doar in systray iti da eroare... Sper sa te ajute |
#18
Posted 30 April 2004 - 07:52
Mii de multumiri.
Mai am insa cateva nelamuriri : tie ti-a mers programul cum trebuie? In sensul ca la mine merge decat un load si un play dupa care nu mai sunt transmise caracterele spre Winamp. Daca la tine a mers zi-mi te rog ca OS, Visual Studio, Winamp ai ca poate asta este cauza problemei. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users