| |||
para Eternal Idol Hola te envie varios mensajes acerca de la variable Item, porque resulta que haciendo las pruebas con msgbox la variable item por ejemplo me da 3003, y no le veo el sentido a ese valor, no corresponde con lo que devuelve getmenuitemid. Muchas gracias y espero tu respuesta. |
| |||
Hola, si me refiero al final de la superconversacion que teniamos, lo que pasa es que he optado por poner un mensaje nuevo. He estado intentando de todo pero nada, ademas queria hacerte una pregunta, la ventana del block de notas debe estar activa no?, asi que debo usar el appactivate no?. O puede ser el handle de la ventana activa que no me lo coge(igual he hecho algo mal con la variable Ventana?, la he puesto pública), ah por cierto el WM_COMMAND lo tenia como private y lo puse como público pensaba que ese podia ser un error pero nada. No se que hacer. Tu que tal la mañana, ya me contaras como va el día, aqui muy caluroso y un poco agobiante. Muchas gracias y espero tu respuesta. |
| ||||
Aca bien, viendo las cosas que hice pa meter en mi cv... hay muchas guenas x suerte no deberia estar activada necesariamente la aplicacion, excepto en el momento en que le das el handle a Ventana, ahi si, pero lo hace automaticamente... Yo lo haria asi por ejemplo: Shell "C:\Program Files\Windows Media Player\wmplayer.exe", 1 Ventana = GetForegroundWindow hMenu = GetMenu(Ventana)
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| ||||
Hola qué tal, almengar22, no se deben abrir distintos posts para continuar una misma temática iniciada por uno mismo. Además si alguien no responde a tus últimos mensajes sus razones tendrá y no se debe de ir abriendo nuevos temas en un foro para hacer llegar un mensaje personal a otro usuario. Para eso está la opción de enviar un mensaje privado a otro usuario de los foros. Quien comience a leer el otro post no podrá ver las soluciones que queden finalmente expuestas en este otro. Ambos temas serán unidos, pero por favor no abras más adelante otro post nuevo si es para continuar el mismo tema. Un saludo a ambos |
| |||
Hola Eternal Idol!! gracias por contestar!, yo ejecuto la aplicacion para sacar el numero de opciones, los handles.., por eso lo necesito, pero aun asi no deberia darme problema. te voy a poner el codigo que me trae de cabeza: codigo boton activar: Private Sub boton_Click() Dim SubMenu As Long Dim y As Long Dim w As Long Dim Item As Long AppActivate (retval) For y = 0 To lst1.ListCount - 1 If lst1.Selected(y) = True Then SubMenu = GetSubMenu(hMenu, y) MsgBox SubMenu MsgBox "Elemento seleccionado del primer listbox " & y End If Next For w = 0 To Lst2.ListCount - 1 If Lst2.Selected(w) = True Then Item = GetMenuItemID(SubMenu, w) SendMessage Ventana, WM_COMMAND, Item, 0 "no se si me coge el handle" MsgBox Item MsgBox "Elemento seleccionado del segundo listbox " & w End If Next End Sub En el módulo: He declarado esto: Public Ventana As Long Public hMenu As Long Public subhwnd As Long Public hwnd As Long esta es la funcion identificar que enumera los menus, y me da informacion sobre ellos: Public Function identificar() 'Dim hMenu As Long Dim i As Long Dim j As Long Dim pos As Long 'Dim hwnd As Long 'Dim hmenu As Long 'Dim subhwnd As Long Dim var2 As Long Dim id As Variant Dim ret2 As Long Dim h As Long Dim cont2 As Long Dim cont As Long Dim Total As Long Total = 0 cont = 0 cont2 = 0 'Dim tabla(10) As Table 'prueba' 'Dim lngid As Long Dim lgRet As Long Dim stBuffer As String * 80 'la prueba hasta aqui' 'Form1.Label5.Caption = hMenu 'obtiene el handle de la ventana activa' hwnd = GetForegroundWindow() "AQUI HABIA PENSADO GUARDAR hwnd en VENTANA, PERO NO SALE TAMPOCO" Form1.Label1.Caption = hwnd 'obtiene el contexto del dispositivo de la ventana activa' ret2 = GetAsyncKeyState(p.vkCode) 'obtener el handle del menu hMenu = GetMenu(hwnd) Form1.Label8.Caption = hMenu cont = GetMenuItemCount(hMenu) Form1.Label4.Caption = cont For i = 0 To cont - 1 MII.cbSize = 44 MII.dwTypeData = stBuffer & Chr$(0) MII.fType = MF_STRING MII.cch = 80 MII.fState = MFS_DEFAULT MII.fMask = MIIM_ID Or MIIM_STATE Or MIIM_TYPE Or MIIM_SUBMENU lgRet = GetMenuItemInfo(hMenu, i, True, MII) 'mov = GetMenuItemID(hSubMenu, 0) 'Form1.Text3.Text = i MII.dwTypeData = Replace(MII.dwTypeData, Chr$(0), vbNullString) 'tabla(i) = lpItemInfo.dwTypeData 'Form1.Text1.Text = tabla(i) Form1.lst1.AddItem MII.dwTypeData 'hasta aqui 'EnableMenuItem hmenu, 0, MF_BYPOSITION subhwnd = GetSubMenu(hMenu, i) 'id = GetMenuItemID(subhwnd, i) GetMenuItemID hMenu, i cont2 = GetMenuItemCount(hMenu) Total = Total + cont2 'mas pruebas' Form1.Label7.Caption = Total End Function No se si encontraras algo incorrecto, pero la verdad es que ya no se que hacer. Tienes tu prueba me la puedes mandar?, ya sé que es una tontería pero puede que encuentre alguna diferencia en algo. Muchas gracias y espero tu respuesta. |
| ||||
A ver mi codigo es este con excepcion del msgbox que te tiene 273, sino WM_COMMAND no es visible en esa parte del codigo y ahi esta el problema: Dim SubMenu As Long Dim y As Long Dim Item As Long For y = 0 To List1.ListCount - 1 If List1.Selected(y) = True Then SubMenu = GetSubMenu(hMenu, y) End If Next For y = 0 To List2.ListCount - 1 If List2.Selected(y) = True Then Item = GetMenuItemID(SubMenu, y) SendMessage Ventana, WM_COMMAND, Item, 0 MsgBox WM_COMMAND End If Next
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Hola!! gracias por contestar, pero no entiendo muy bien tu respuesta, tengo que cambiar msgbox item por msgbox WM_COMMAND no?, por cierto el 273 aun haciendo esto sigue saliendo. Me lo puedes explicar un poco mas(ya me estoy quedando sin neuronas). Gracias por tu paciencia y espero tu respuesta. |
| ||||
Si sale 273 es correcto, sino saliera habria problemas porque no le estaria pasando el mensaje WM_COMMAND... Mmm proba sacando lo de AppActivate que yo no lo tengo... no se sino
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Hola!! Ahora he probado otra vez, y me he dado cuenta que cuando le doy a activar, despues de sacarme los msgbox correspondientes la ventana del block de notas no esta activada y ademas se a abierto una segunda ventana de block de notas. Esto parece Expediente X. Gracias por todo y espero tu respuesta. |
| |||
Hola!! Gracias por contestar!!(estaras deseando tu mas que yo que termine esto) he quitado el APPACTIVATE pero ahora me ejecuta una segunda ventana de block de notas(ahora ejecuto esa en vez de windows media), bueno pues te lo envio, gracias la verdad es que gracias a tu ayuda esto es mas llevadero. gracias por todo. |
| |||
Hola, la verdad es que no entiendo porque los appactivate pueden ser los culpables, porque cuando el programa termina de mandarme todos los msgbox la ventana del block de notas esta desactivada(eso no es buen sintoma..), la verdad la cosa esta complicada. Tu que tal? estas pensando en mandar curriculums?, como decias ayer que la cosa esta dificil.. bueno te doy las gracias y espero tu respuesta. |
| ||||
La verdad no tengo ni idea de que es lo que pasa, pero si lo pruebo me parece que lo puedo arreglar (tranquilo en casa eso si, je). Si, estoy puliendo un par de aplicaciones bastante avanzadas para dejarlas listas... queres ver alguna?
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Hola, si quieres(la verdad tengo curiosidad) Perdona por no contestar pero es que acabo de ponerle a uno del foro de microsoft un peazo mensaje..., es que resulta que dice que no me contesta porque no(no te fastidia), te pongo un link para que leas los mensajes(saldra dentro de pocos minutos porque lo acabo de poner) adios espero tus aplicaciones jejeje el link: http://communities.microsoft.com/new...Latam&sLCID=es Luego entra en Desarrollo, y ahi a Visual basic, y luego los mensajes de Para Ruben Vigon. |
| |||
Hola otra vez, en el foro del que te he puesto el link, me han preguntado que cuantas listbox voy a poner porque hay submenus que tienes submenus, y la verdad es que no habia caido en eso(hoy no estoy al 100%), tu que opinas? gracias y espero tu respuesta. |
| |||
Ya seria logico sino fuera porque me lo han mandado con un listbox además el ejemplo que me han dado me resulta complicado, en cuanto a lo de los hilos, lo reconozco pongo demasiados y a veces con temas no apropiados. Lo que he hecho hasta con un treeview como seria?, cambiando un objeto por otro?. De todas formas lo de la listbox era para ir poco a poco(solo sigo instrucciones) Gracias y espero tu respuesta. |
| ||||
Es como bien te dijeron un listbox solo sirve si no hay submenues. Cambiarlo seria meter todos los menues en el treeview, toda la estructura (file,open...,edit,undo... y asi con todos). Si con el listbox para empezar esta bien, pero visualmente no representa a un menu y seria muy complicado ir poniendo X listas segun fuera necesario.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Hola!! asi que seria simplemente cambiar donde pone listbox por treeview, y mirar eso de los nodos, tu sabes comoo van?,He estado mirando en casa y no se porque sera que no se activan los menus. Has encontrado algo mal en el codigo que te envie?. Gracias por tu tiempo y espero tu respuesta. |
| ||||
Es cuestion de ponerse, no he usado mucho el TreeView pero si hay que usarlo se usa. No pude mirar el codigo todavia, cuando vuelva a casa lo veo.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |
| |||
Hola, ahora estoy buscando informacion sobre el treeview, pero me gustaria preguntarte si encontrarste algo raro en lo que te envie ayer. Gracias y espero tu respuesta. |
| ||||
Lo siento peroo no lo pude mirar porque ayer vi el partido de Argentina - Brasil (me cago en los penales je) y hoy me fui a dormir temprano, esta tarde lo miro.
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |