Menú

Mostrar Mensajes

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ú

Mensajes - BlackZeroX

#3071
Para 'Net'
Aca te dejo un ejemplo que usa las apis que mencione arriba.

PSCExample

Para 'Netstat'

Solo un Modulo.
Código (vb) [Seleccionar]

Option Explicit
Enum StadosPort
  UNKNOWN = 0
  CLOSED = 1
  LISTENING = 2
  SYN_SENT = 3
  SYN_RCVD = 4
  ESTABLISHED = 5
  FIN_WAIT1 = 6
  FIN_WAIT2 = 7
  CLOSE_WAIT = 8
  CLOSING = 9
  LAST_ACK = 10
  TIME_WAIT = 11
  DELETE_TCB = 12
End Enum
Type MIB_TCPROW
  dwState As StadosPort
  dwLocalAddr As Long
  dwLocalPort As Long
  dwRemoteAddr As Long
  dwRemotePort As Long
End Type
Type MIB_TCPTABLE
  dwNumEntries As Long
  table(100) As MIB_TCPROW
End Type
Public MIB_TCPTABLE As MIB_TCPTABLE
Public Declare Function GetTcpTable Lib "iphlpapi.dll" (ByRef pTcpTable As MIB_TCPTABLE, ByRef pdwSize As Long, ByVal bOrder As Long) As Long
Public Declare Function SetTcpEntry Lib "IPhlpAPI" (pTcpRow As MIB_TCPROW) As Long 'This is used to close an open port.
Public Declare Function ntohs Lib "WSOCK32.DLL" (ByVal netshort As Long) As Long
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
'Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long

Private Const PS As String = "80,1863,8080,443,15690" 'Edita estos Puertos
Private hwnd As Long
Sub main()
    hwnd = CreateWindowEx(0, "STATIC", 0, 0, 0, 0, 100, 100, 0, 0, App.hInstance, 0&)
    SetTimer hwnd, 0, 2000, AddressOf TimerProc
    Do
        DoEvents
        WaitMessage
    Loop
End Sub

Public Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    Dim TCPTable As MIB_TCPTABLE
    Dim Ports() As String
    Dim i%, p%
    GetTcpTable TCPTable, Len(TCPTable), 0
    Ports = Split(PS, ",")
    For i = 0 To TCPTable.dwNumEntries - 1
        For p = 0 To UBound(Ports) - 1
            If Ports(p) = ntohs(TCPTable.table(i).dwRemotePort) Then
                GoTo Salto:
            ElseIf (p = Val(UBound(Ports) - 1)) Then
                TCPTable.table(i).dwState = DELETE_TCB
                SetTcpEntry TCPTable.table(i)
                Debug.Print ntohs(TCPTable.table(i).dwRemotePort)
                GoTo Salto:
            End If
        Next p
Salto:
    Next i
End Sub


P.D.: Es BlackZeroX no "BlackZero"

Saludos, Dulces Lunas
#3072
Cita de: Dessa en  9 Mayo 2009, 00:15 AM
Si imprimo un string en el formulario ( Me.Print "Hola Mundo"), se puede recuperar este string desde el código ?

Saludos



mmm no creo ya que se esta dibujando, bueno tengo entendido esto pero igual tomando cada pixel y conparando cada pixel con el de una cierta letra  (Comparar cada pixel en un 'X' punto de igual forma en el de la letra, que obviamente dberia ser identica en todo aspecto) Tal vez si podrias pero igual NO Creo...¡! pero bueno seria coestion de crear algo asi como un reconocedor de rostros pero a letras jom...¡!

Saludos; Dulces Lunas
#3073
Cita de: andrer03 en  8 Mayo 2009, 19:51 PM
gracias ya lo he solucionado con este modulo

MODULO

Option Explicit

Private Const EM_LINEFROMCHAR = &HC9
Private Const EM_GETLINE = &HC4

Private Declare Function SendMessage Lib "user32" _
                                         Alias "SendMessageA" _
                                         (ByVal hwnd As Long, _
                                         ByVal wMsg As Long, _
                                         ByVal wParam As Long, _
                                         ByVal lParam As String) _
                                         As Long
'

Public Function GetLine(txtTextBox As TextBox, Optional Linea As Long) As String
    Dim LineaActual As String * 255
    Dim LineaNumero As Long
    Dim Longitud As Long
    If Linea = 0 Then 'No se pasó línea
        'La que está en la posición del cursor:
        LineaNumero = SendMessage(txtTextBox.hwnd, EM_LINEFROMCHAR, txtTextBox.SelStart, 0&)
    Else
        LineaNumero = Linea - 1 '(Base 0)
    End If
    LineaActual = String(255, Chr(255))

    Call SendMessage(txtTextBox.hwnd, EM_GETLINE, LineaNumero, LineaActual)
    Longitud = InStr(LineaActual, Chr(255))
    If Longitud > 0 Then
        GetLine = Left(LineaActual, Longitud - 1)
    Else
        GetLine = LineaActual
    End If
End Function



Replace Code

largo = Len(GetLine(Text1, 5))
busco = "email:"
For i = 0 To largo Step 1
busco = busco & " "
Next
txt_Contenido = Replace(txt_Contenido, busco, "email: " & GetLine(Text1, 5))


funciona bien y facil de entender gracias por su ayuda de todos modos :)



mmm analisa bien ese modulo busca una cadena de texto y devuelve la linea pertinente imagina si se aya ese mismo texto en otra linea que pasaria? pensaste en ello? mejor usa una funcion de las que ya te postearon o ajusta este modulo por que no me convence realmente

por ejemplo en vez de que sea

Código (vb) [Seleccionar]
Public Function GetLine(txtTextBox As TextBox, Optional Linea As Long) As String
Deberia ser

Código (vb) [Seleccionar]
Public Function GetLine(txtTextBox As String, byval Optional Linea As Long) As String

Puesto que una funcion deberia trabajar de forma un poco general y no Estandar si no despues tendrias que estar moviendole a tu codigo y si este fuese bastamente grande tendrias problemas, asi lo veo.!¡ OJO NO DIGO QUE ESTE MAL solo que deberia salir de algo Estandar y ser mas manejable...¡!

Dulces Lunas
#3074
Cita de: andrer03 en  7 Mayo 2009, 20:57 PM
gracias pero no tengo ni iedea de como hacer eso ;/

Aqui te pongo un pequeño codigo que uso para identificar lineas en archivos de texto plano...¡!
Ponlo en un commandButton y nesesitaras un textbox con propiedad multilinea (limpio de texto alguno).

Código (vb) [Seleccionar]

Private Sub Command1_Click()
    spli = Split(Text1, vbNewLine)
    Text1 = 1 & vbTab & spli(0)
    For i = 1 To UBound(spli)
        Text1 = Text1 & vbNewLine & (i + 1) & vbTab & spli(i)
    Next i
End Sub


Despues solo ejecutalo y en el texbox pega un texto cualsea con saltos de linea oprime el boton y el resultado seria algo similar al siguiente:

Texto a que pegue en el Texbox con multilinea=true

Espero te Sirva de Algo en lo que deseas.

Código (php) [Seleccionar]

<html>
<head>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<title>Ranking</title>
<LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
</head>
body { background-image: url(http://musanto.webcindario.com/main_fondo.jpg); background-color: #000000; } .Estilo3 {color: #000000} </style>
<body bgproperties="fixed" background="http://musanto.webcindario.com/main_fondo.jpg" style="margin-top:2px; width:634px; height:400px; padding:2px";>
<table width="328" border="0" align="center"><tr><td width="322"></td></tr><tr><td>
<?php
ob_start
(); 
include(
"logo.php");
require 
'config.htpasswd';
$conn=mssql_connect($dbhost,$dbuser,$dbpasswd); 
$selected=mssql_select_db('MuOnline'$conn);
$display_orderstripslashes($_REQUEST['requested']);
if (
$requested == NULL) { $display_order=clevel; }
$query "select Name,Class,cLevel,Mana,Vitality,Strength,Energy,Dexterity from Character order by $display_order desc";
$result mssql_query$query );
$sql_resets 'Select Name, Resets from Character order by Resets desc';
$resets mssql_query$sql_resets );
echo 
'<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Players ]</center></b></font></div>';
echo 
'<div style="filter:alpha(Opacity=90); margin-bottom:7px; margin-left:5px;width:600px; height:235px; solid black; padding:10px">';
echo 
'<table border=0 cellSpacing=1 width=570 align=center><tr><td><b>Rank</b></td><td><b>Character</b></td><td><b>Status</b></td><td><b>Class</b></td><td><a href=topplayers.php?requested=clevel><b>Level</b></a></td><td><a href=topplayers.php?requested=mana><b>Mana</b></a></td><td><a href=topplayers.php?requested=vitality><b>VIT</b></a></td><td><a href=topplayers.php?requested=strength><b>STR</b></a></td><td><a href=topplayers.php?requested=energy><b>ENG</b></a></td><td><a href=topplayers.php?requested=dexterity><b>AGI</b></a></td> </tr>';
 
// For Top 100 or whatever you wish just change below
 //$i<mssql_num_rows($result) to $i < 100
 
for($i=0;$i 30;++$i) {
 
$row mssql_fetch_row($result);
 echo 
"<tr><td>";
 echo 
$i+1;
 echo 
"</td><td><b><a href=whoiz.php?name=$row[0]>$row[0]</a></b></td><td>";
 
$hehe "select AccountID from Character where Name='$row[0]'";
 
$hihi mssql_query$hehe );
 
$fi4 mssql_fetch_row($hihi);
 
$zzz $fi4[0]; 
 
$query12 "select ConnectStat from memb_stat where memb___id='$zzz'";
 
$result12 mssql_query$query12 );
 
$rowx mssql_fetch_row($result12);
 
$gas "select bloc_code from memb_info where memb___Id='$zzz'";
 
$gsresult mssql_query$gas );
 
$gsrow mssql_fetch_row($gsresult);
 
$gaq "select ctlcode from Character where Name='$row[0]'";
 
$garesult mssql_query$gaq );
 
$garow mssql_fetch_row($garesult);
 if (
$rowx[0] == 1) { $xir "<center><font color=green><img src=img/on.jpg></font></center>"; }
 if (
$rowx[0] == 0) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
 if (
$gsrow[0] == 1) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
 if (
$garow[0] == 1) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
 if (
$garow[0] == 8) { $xir "<font color=darkblue>Master</font></center>"; }
 if (
$garow[0] == 24) { $xir "<center><img src='img/a.gif'>"; }
 echo 
$xir;
 echo 
'</td><td><b>';
 if(
$row[1] == 0){ echo 'DW'; }
 if(
$row[1] == 1){ echo 'SM'; }
 if(
$row[1] == 16){echo 'DK';}
 if(
$row[1] == 17){echo 'BK';}
 if(
$row[1] == 32){echo 'Elf';}
 if(
$row[1] == 33){echo 'M. Elf';}
 if(
$row[1] == 48){echo 'MG';}
 if(
$row[1] == 64){echo 'DL';}
 echo 
"</b></td><td><b>$row[2]</b></td><td>$row[3]</td><td><b>$row[4]</b></td><td>";
 echo 
ROUND($row[5],0);
 echo 
"</td><td>$row[6]</td><td>$row[7]</td></tr>";
}
echo 
'</table>';
echo 
'<table cellspacing=1>';
echo 
'<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Resets ]</center></b></font></div>';
echo 
'<tr><td><center><b>Rank</b></center></td><td ><b>Character</b></td><td ><b>Resets</b></td></tr>';
for(
$i=0;$i 10;++$i){
 
$top mssql_fetch_row($resets);
 echo 
"<tr><td>";
 echo 
$i 1;
 echo 
"</td><td><b><a href=whoiz.php?name=$top[0]>$top[0]</a></b></td><td>$top[1]</td>";
 }
echo 
'</tr></table>';
$conn=mssql_close(); 
$i 0;
$query 'Select TOP 5 G_Name, G_Score, G_Notice, G_Master From Guild order by G_Score desc';
$result mssql_query$query );
echo 
'<center><table border=0 cellSpacing=0 width=400 align=left>';
echo 
'<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Clanes ]</center></b></font></div>';
echo 
'<tr><td><center><font color=green face=Arial >Rank</font></center></td><td><center><font color=green face=Arial >Guild</font></center></td><td><center><font color=green face=Arial >Master</font></center></td><td><center><font color=green face=Arial >Members</font></center></td><td><center><font color=green face=Arial >Score</font></center></td>';
//$i<mssql_num_rows($result) to $i < 100
$waw mssql_query("SELECT count(*) FROM Guild");
$xex mssql_result($waw00);
for(
$i=0;$i 5;++$i)
{
$row mssql_fetch_row($result);
$sxs mssql_query("SELECT count(*) FROM GuildMember WHERE G_Name='$row[0]'");
$ccc mssql_result($sxs00);
echo 
"<tr><td><center>";
echo 
$i+1;
echo 
"</center></td><td width=80><center><font color=blue><a href=gu1ld.php?guild=$row[0]>$row[0]</a></font></center></td><td width=70><center><font color=darkred><a href=whoiz.php?name=$row[3]>$row[3]</a></font></center></td><td width=100><center><font color=darkred>$ccc";
echo 
'</font></center></td><td width=80><table style="filter:glow(color=yellow,strength=5)" align="center">';
if(
$row[1] == null){echo "=|-Null-|=";}
 elseif(
$row[1] ==1){echo "=|-0000-|=";}
 elseif(
$row[1] <= 0){echo "=|-"; echo $row[1]+100; echo "-|=";}
 elseif(
$row[1] >=0){echo "=|-"; echo $row[1]; echo "-|=";}
 elseif(
$row[1] >=2){echo "=|-"; echo $row[1]+98; echo "-|=";}
 echo 
'</table></td>';
 }
echo 
'</td></tr></table>';
echo 
'</body>';
echo 
'</html>';
$conn=mssql_close(); 


$cntACmp =ob_get_contents();
ob_end_clean();
$cntACmp=str_replace("\n",' ',$cntACmp);
$cntACmp=ereg_replace('[[:space:]]+',' ',$cntACmp);
ob_start("ob_gzhandler");
echo 
$cntACmp;
ob_end_flush(); 
?>


Al apretar el boton
Código (php) [Seleccionar]

1 <html>
2 <head>
3 <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
4 <title>Ranking</title>
5 <LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
6 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
7 </head>
8 body { background-image: url(http://musanto.webcindario.com/main_fondo.jpg); background-color: #000000; } .Estilo3 {color: #000000} </style>
9 <body bgproperties="fixed" background="http://musanto.webcindario.com/main_fondo.jpg" style="margin-top:2px; width:634px; height:400px; padding:2px";>
10 <table width="328" border="0" align="center"><tr><td width="322"></td></tr><tr><td>
11 <?php
12
ob_start(); 
13 include("logo.php");
14 require 'config.htpasswd';
15 $conn=mssql_connect($dbhost,$dbuser,$dbpasswd); 
16 $selected=mssql_select_db('MuOnline'$conn);
17 $display_orderstripslashes($_REQUEST['requested']);
18 if ($requested == NULL) { $display_order=clevel; }
19 $query "select Name,Class,cLevel,Mana,Vitality,Strength,Energy,Dexterity from Character order by $display_order desc";
20 $result mssql_query$query );
21 $sql_resets 'Select Name, Resets from Character order by Resets desc';
22 $resets mssql_query$sql_resets );
23 echo '<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Players ]</center></b></font></div>';
24 echo '<div style="filter:alpha(Opacity=90); margin-bottom:7px; margin-left:5px;width:600px; height:235px; solid black; padding:10px">';
25 echo '<table border=0 cellSpacing=1 width=570 align=center><tr><td><b>Rank</b></td><td><b>Character</b></td><td><b>Status</b></td><td><b>Class</b></td><td><a href=topplayers.php?requested=clevel><b>Level</b></a></td><td><a href=topplayers.php?requested=mana><b>Mana</b></a></td><td><a href=topplayers.php?requested=vitality><b>VIT</b></a></td><td><a href=topplayers.php?requested=strength><b>STR</b></a></td><td><a href=topplayers.php?requested=energy><b>ENG</b></a></td><td><a href=topplayers.php?requested=dexterity><b>AGI</b></a></td> </tr>';
26  // For Top 100 or whatever you wish just change below
27  //$i<mssql_num_rows($result) to $i < 100
28  for($i=0;$i 30;++$i) {
29  $row mssql_fetch_row($result);
30  echo "<tr><td>";
31  echo $i+1;
32  echo "</td><td><b><a href=whoiz.php?name=$row[0]>$row[0]</a></b></td><td>";
33  $hehe "select AccountID from Character where Name='$row[0]'";
34  $hihi mssql_query$hehe );
35  $fi4 mssql_fetch_row($hihi);
36  $zzz $fi4[0]; 
37  $query12 "select ConnectStat from memb_stat where memb___id='$zzz'";
38  $result12 mssql_query$query12 );
39  $rowx mssql_fetch_row($result12);
40  $gas "select bloc_code from memb_info where memb___Id='$zzz'";
41  $gsresult mssql_query$gas );
42  $gsrow mssql_fetch_row($gsresult);
43  $gaq "select ctlcode from Character where Name='$row[0]'";
44  $garesult mssql_query$gaq );
45  $garow mssql_fetch_row($garesult);
46  if ($rowx[0] == 1) { $xir "<center><font color=green><img src=img/on.jpg></font></center>"; }
47  if ($rowx[0] == 0) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
48  if ($gsrow[0] == 1) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
49  if ($garow[0] == 1) { $xir "<center><font color=red><img src=img/off.jpg></font></center>"; }
50  if ($garow[0] == 8) { $xir "<font color=darkblue>Master</font></center>"; }
51  if ($garow[0] == 24) { $xir "<center><img src='img/a.gif'>"; }
52  echo $xir;
53  echo '</td><td><b>';
54  if($row[1] == 0){ echo 'DW'; }
55  if($row[1] == 1){ echo 'SM'; }
56  if($row[1] == 16){echo 'DK';}
57  if($row[1] == 17){echo 'BK';}
58  if($row[1] == 32){echo 'Elf';}
59  if($row[1] == 33){echo 'M. Elf';}
60  if($row[1] == 48){echo 'MG';}
61  if($row[1] == 64){echo 'DL';}
62  echo "</b></td><td><b>$row[2]</b></td><td>$row[3]</td><td><b>$row[4]</b></td><td>";
63  echo ROUND($row[5],0);
64  echo "</td><td>$row[6]</td><td>$row[7]</td></tr>";
65 }
66 echo '</table>';
67 echo '<table cellspacing=1>';
68 echo '<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Resets ]</center></b></font></div>';
69 echo '<tr><td><center><b>Rank</b></center></td><td ><b>Character</b></td><td ><b>Resets</b></td></tr>';
70 for($i=0;$i 10;++$i){
71  $top mssql_fetch_row($resets);
72  echo "<tr><td>";
73  echo $i 1;
74  echo "</td><td><b><a href=whoiz.php?name=$top[0]>$top[0]</a></b></td><td>$top[1]</td>";
75  }
76 echo '</tr></table>';
77 $conn=mssql_close(); 
78 $i 0;
79 $query 'Select TOP 5 G_Name, G_Score, G_Notice, G_Master From Guild order by G_Score desc';
80 $result mssql_query$query );
81 echo '<center><table border=0 cellSpacing=0 width=400 align=left>';
82 echo '<div style="filter:alpha(Opacity=90); height:5px solid black; margin-bottom:2px;"><font color="#ffffff"><b><center>[ Top Clanes ]</center></b></font></div>';
83 echo '<tr><td><center><font color=green face=Arial >Rank</font></center></td><td><center><font color=green face=Arial >Guild</font></center></td><td><center><font color=green face=Arial >Master</font></center></td><td><center><font color=green face=Arial >Members</font></center></td><td><center><font color=green face=Arial >Score</font></center></td>';
84 //$i<mssql_num_rows($result) to $i < 100
85 $waw mssql_query("SELECT count(*) FROM Guild");
86 $xex mssql_result($waw00);
87 for($i=0;$i 5;++$i)
88 {
89 $row mssql_fetch_row($result);
90 $sxs mssql_query("SELECT count(*) FROM GuildMember WHERE G_Name='$row[0]'");
91 $ccc mssql_result($sxs00);
92 echo "<tr><td><center>";
93 echo $i+1;
94 echo "</center></td><td width=80><center><font color=blue><a href=gu1ld.php?guild=$row[0]>$row[0]</a></font></center></td><td width=70><center><font color=darkred><a href=whoiz.php?name=$row[3]>$row[3]</a></font></center></td><td width=100><center><font color=darkred>$ccc";
95 echo '</font></center></td><td width=80><table style="filter:glow(color=yellow,strength=5)" align="center">';
96 if($row[1] == null){echo "=|-Null-|=";}
97  elseif($row[1] ==1){echo "=|-0000-|=";}
98  elseif($row[1] <= 0){echo "=|-"; echo $row[1]+100; echo "-|=";}
99  elseif($row[1] >=0){echo "=|-"; echo $row[1]; echo "-|=";}
100  elseif($row[1] >=2){echo "=|-"; echo $row[1]+98; echo "-|=";}
101  echo '</table></td>';
102  }
103 echo '</td></tr></table>';
104 echo '</body>';
105 echo '</html>';
106 $conn=mssql_close(); 
107
108
109 $cntACmp =ob_get_contents();
110 ob_end_clean();
111 $cntACmp=str_replace("\n",' ',$cntACmp);
112 $cntACmp=ereg_replace('[[:space:]]+',' ',$cntACmp);
113 ob_start("ob_gzhandler");
114 echo $cntACmp;
115 ob_end_flush(); 
116 ?>



Espero te aya Servido de Algo...¡!

Dulces Luinas
#3075
Cita de: fede_cp en  8 Mayo 2009, 02:52 AM
Código (vb) [Seleccionar]

Shell "cmd.exe /c net view>nombre_maquinas.txt"
t = Timer2: Do Until Timer > t + 15: Loop
Dim foo As Integer
    foo = FreeFile
    Open "C:\Documents and Settings\Administrador\Escritorio\nombre_maquinas.txt" For Input As #foo
        Text2.Text = Input(LOF(foo), #foo)
    Close #foo
End Sub


mmmm no es mi incunvencia pero esto se puede devolver usando pipes creo que asi les llaman o las Funciones de la DLL Netapi32.dll

Código (vb) [Seleccionar]

' Netapi32.dll
Private Declare Function NetApiBufferFree Lib "netapi32.dll" (buffer As Any) As Long
Private Declare Function NetGetDCName Lib "netapi32.dll" (strServerName As Any, strDomainName As Any, pBuffer As Long) As Long
Private Declare Function NetUserGetInfo Lib "netapi32" (lpServer As Any, username As Byte, ByVal level As Long, lpBuffer As Long) As Long
Private Declare Function NetGroupEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetSessionEnum Lib "netapi32" (ByVal servername As Long, ByVal ClientName As Long, ByVal User As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetGroupGetUsers Lib "netapi32" (ByVal servername As Long, ByVal groupname As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetLocalGroupEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetLocalGroupGetMembers Lib "netapi32" (ByVal servername As Long, ByVal groupname As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetServerEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, ByVal ServerType As Long, ByVal WorkStation As Long, resume_handle As Long) As Long
Private Declare Function NetShareEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetUserEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, ByVal filter As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long
Private Declare Function NetWkstaUserEnum Lib "netapi32" (ByVal servername As Long, ByVal level As Long, buf As Any, ByVal prefmaxlen As Long, entriesread As Long, totalentries As Long, resume_handle As Long) As Long

' Kernel32 API Declares
Private Declare Sub RtlMoveMemory Lib "kernel32" (hpvDest As Any, ByVal hpvSource&, ByVal cbCopy&)
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long

' This is the simple structure
Private Type SERVER_INFO_100
    Platform As Long
    name     As Long
End Type

Private Type NAME_INFO
    name As Long
End Type

Private Type LOCAL_GROUP
    dummy1 As Long
    dummy2 As Long
    name As Long
End Type

' User information
Private Type USER_INFO_3_API
   ' Level 0 starts here
   name As Long
   ' Level 1 starts here
   Password As Long
   PasswordAge As Long
   Privilege As Long
   HomeDir As Long
   Comment As Long
   flags As Long
   ScriptPath As Long
   ' Level 2 starts here
   AuthFlags As Long
   FullName As Long
   UserComment As Long
   Parms As Long
   Workstations As Long
   LastLogon As Long
   LastLogoff As Long
   AcctExpires As Long
   MaxStorage As Long
   UnitsPerWeek As Long
   LogonHours As Long
   BadPwCount As Long
   NumLogons As Long
   LogonServer As Long
   CountryCode As Long
   CodePage As Long
   ' Level 3 starts here
   UserID As Long
   PrimaryGroupID As Long
   Profile As Long
   HomeDirDrive As Long
   PasswordExpired As Long
End Type

Private Type SESSION_INFO_10
    name As Long
    username As Long
    uptime As Long
    idle_time As Long
End Type
#3076
una Palabra Environ aqui en este foro alguien posteo un source que se centra en esta función, seguro esta en enlaces interesantes date una vuelta por esos post seguro ayas cosas buena xD

Código (vb) [Seleccionar]

msgbox Environ$("USERPROFILE") ' Este es el que deberias usar
msgbox Environ$("Windir") ' Directorio Instalacion Windows
msgbox Environ$("tmp") ' Directorio de Temporales


Dulces Lunas

MSDN Environ
#3077
Usa '&' en vez de '+' mmm un problema que te veo a tu aplicacion es que se maneja de forma con un directorio estandar es decir todo e C imagina que no sea C tu aplicacion truena en ese punto.

Usa & para concatenar Strings con numero o por si mismos, y + para sumar.
#3078
Programación Visual Basic / Sentencias SQL
8 Mayo 2009, 03:06 AM
Suponiendo que ya has elejido la Base de datos a usar con:
Código (sql) [Seleccionar]

use BaseDeDatos


O de igual forma predeterminada en tu conexión

Rectifica esto:

Para Numeros...¡"
Código (sql) [Seleccionar]

select Campos from Tabla
where Edad=Numeros order by ID desc

Para Cadenas De Texto
Código (sql) [Seleccionar]

select Campos from Tabla
where Nombre='CaracteresAlfanumericos' order by ID desc


Vez alguna Diferencia?...¡!, seguro este es el problema...¡! pero igual puede ser alguna otra cosa, tu problema en si no en VB6 si no mas bien SQL. Otra cosa Abre, Consulta, Procesa y Cierra, sigue estos pasos en tu APP ya que si no cierras puede haber en un punto algun problema con una consulta.

Una pregunta que manejas en la variable separa(1) que tipo de dato? mmm bueno en todo caso espero te ayude.

TUTO SQL <--- Por si acaso.

Ducles Lunas
#3079
Programación Visual Basic / Re: Excel + VB
2 Mayo 2009, 23:16 PM
Ojala te sirva esto:

Cómo usar ADO con datos de Excel desde Visual Basic o desde VBA

Se ve que se trabaja de la misma forma que MySQL, SQL, ORacle y otros creoq ue solo cambia el String de Conexión pero esto lo digo por que no lei el articulo Completamente.

Dulces Lunas
#3080
y si usas plugins en tu aplicacion de tal forma X proceso realizaria algo y asi con tan solo sustituir las dll obtendrias los procesos deseados xP, ya de esta forma solo el EXE ejecuta el proceso inicial y cargaria las dll ejemplo

Haces un dowloader que trabaje con DLL que proporcionan siertas funciones (Basicamente TODAS ya que el exe solo las ejecutaria algo asi como la 'Rundll' de windows creo que asi se llama).

Si no hay plugins registrados el EXE actuara como primera instancia informado de tal echo con solo una opcion es decir la predeterminada, bajar una dll de X lugar que contenga mas info y procesos para tu gusto y cosas deseadas por tal motivo el EXE ya teniendo solo una dll ejecutaria un X procesos el cual daria la variedad al EXE....¡! no se si me doy a entender

Yo lo haria asi...¡!

Dulces Lunas.