algo raro estaras haciendo con tu mano, y si no paras de hacer eso
algo te va a pasar....




Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Krähne en 30 Mayo 2011, 00:09 AM
@[D4N93R]: Parece que has desarrollado una especie de fobia/rabia hacia mis respuestas pues a todas las que puedes/quieres les vas sacando una contraposición cuando éstas ya solventaron el problema principal. Creo que para el usuario Segurida, fue más que satisfactoria la respuesta que le he dado, y mucho más funcional que usar WMI o Process, si no te has dado cuenta EN LOS EJEMPLOS DE seba123neo NO PUEDES ACCEDER A X INFORMACIÓN EN X PROCESOS (En rojo, negrita y mayúsculas a ver si lo lees de una vez por todas) que con el uso de APIS ¡SÍ PUEDES! (Y ya se que no es un tema de rings, joder que con tal API tienes más acceso a un proceso (Modo usuario igual, ¡¡¡Pero revisa los parámetros que le doy a OpenProcess!!!) ¡Que con las que .net nos ofrece!). ¿Será que te cuesta mucho entenderlo o qué pasa?... Yo vengo a tratar de ayudar (No a discutir con X o Y persona si X o Y método es más ético/viable/obligatorio mientras que otro hace lo mismo y lo hace mejor sin tanto protocolo) satisfactoriamente en éste caso, al igual que los demás también desean ayudar pero... como que no te gustó/gusta la idea de que eligieran/elijan mi solución como la más viable en el caso de él/otros.
Sinceramente no pienso seguir discutiendo un tema que ya está resuelto, más si sin embargo quieres seguir la -sin sentido- disputa existen los MP, alguien debería cerrar el tema, o creo que tú mismo ya que eres moderador.
Gruß.
P.D.: Si vas a volver con protocolos de cómo usar .net, qué es más recomendable, qué no, o si vienes de nuevo a hablarme de APIS cuando el tema está bastante claro, me temo que preferiré ignorarte, pues sigo sin entender el porqué saltaste de la nada a discutir algo que estaba solventado.
Cita de: [D4N93R] en 28 Mayo 2011, 20:57 PM
"resulta que dicha plataforma no es tan "potente" como quisiéramos" Demuéstralo..
Cualquier lenguaje puede usar APIs. Y cuando cambias del lenguaje no cambias de API por lo que no cambia en nada el comportamiento de la llamada.
Todo acá (en entornos administrados) es cuestión de permisologías. Y esa es la verdadera potencia que nos ofrece la plataforma..
Un saludo
Cita de: Krähne en 28 Mayo 2011, 06:14 AM
con tu ejemplo tenemos limitaciones en más de 2 procesos al momento de obtener su ruta, esto con WMI, ahora al momento de hacerlo con Process es aún peor, las limitaciones son mayores ya que no se puede tener acceso a los módulos de algunos procesos, sí... ya veo el Try-Catch pero de nada sirve porque no nos devuelve entonces las rutas de "Todos los procesos" como dice el enunciado de la pregunta original.
yo tampoco logré obtener la ruta de esos dos procesos
Cita de: Krähne en 30 Mayo 2011, 00:09 AM
si no te has dado cuenta EN LOS EJEMPLOS DE seba123neo NO PUEDES ACCEDER A X INFORMACIÓN EN X PROCESOS (En rojo, negrita y mayúsculas a ver si lo lees de una vez por todas) que con el uso de APIS ¡SÍ PUEDES!
Cita de: beholdthe en 29 Mayo 2011, 21:05 PM
si, me parece poco
Cita de: Krähne en 28 Mayo 2011, 21:57 PM
No entiendo porqué hiciste la misma pregunta 2 veces si ya te la habían respondido, si es por lo que te dije que iba en .NET, no es tu culpa haber cometido el error 1 vez, es culpa de los moderadores no haberlo movido.
De todos modos, la manera más "ética" por decir así es la respuesta que te dió madpitbull_99, ya que... implementa las clases que .NET nos da, pero si bien la mía no es tan "no ética", y no requiere de .NET Framework 4.
using System.Runtime.InteropServices;
[DllImport("kernel32.dll")]
static extern bool SetComputerName(string lpComputerName);
public static void Main()
{
bool Editado = SetComputerName("NuevoNombreDeComputador");
if (Editado)
Console.WriteLine("Se ha cambiado el nombre del computador, sin embargo los cambios tendran efecto despues del siguiente reinicio.");
else
Console.WriteLine("No se puede cambiar el nombre de computador, necesita permisos de administrador.");
}
Gruß.
Imports System.Management
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call ObtenerProcesos1()
Call ObtenerProcesos2()
End Sub
Private Sub ObtenerProcesos1()
Dim machineName As String = "localhost"
Dim myQuery As String = "select * from win32_process"
Dim mScope As New ManagementScope(String.Format("\\{0}\root\cimv2", machineName), Nothing)
mScope.Connect()
If mScope.IsConnected Then
Dim objQuery As New ObjectQuery(myQuery)
Using objSearcher As New ManagementObjectSearcher(mScope, objQuery)
Using result As ManagementObjectCollection = objSearcher.Get
For Each item As ManagementObject In result
Debug.WriteLine(String.Format("---->> Nombre Proceso: {0}. ID Proceso: {1}. Path: {2}.", item("Name"), item("ProcessId"), item("ExecutablePath")))
Next
End Using
End Using
End If
End Sub
Private Sub ObtenerProcesos2()
For Each p As Process In Process.GetProcesses()
Try
Debug.WriteLine(p.Modules(0).FileName)
Catch ex As Exception
End Try
Next
End Sub
End Class
Cita de: ramski en 27 Mayo 2011, 02:26 AM
pero no e buscado buena informacion acerca de esto y no tengo idea de como hacerlo.
Private Const LB_SETHORIZONTALEXTENT = &H194
Private Declare Function ShowScrollBar Lib "user32" (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
Private Const SB_HORZ = 0
Private Const SB_VERT = 1
Private Const SB_BOTH = 3
Private Sub Form_Load()
ShowScrollBar List1.hwnd, SB_HORZ, True
End Sub