char str[len + 1];
memcpy(str,somechararray,len);
str[len] = 0;
System::String^ clistr = gcnew System::String(somechararray, 0, len);
int cnt[][] = new int[numBytes][256];
int b[] = new int[arr.length];
for (int j = 0; j < numBytes; j++) {
// подсчитываем количество элементов для каждого значения j-го разряда
for (int i = 0; i < arr.length; i++) {
if (iByteN(arr[i], j) < 255)
cnt[j][1 + iByteN(arr[i], j)]++;
}
//вычисляем позиции cnt[i], начиная с которых будут располагаться элементы
//с соответствующим значением j-го разряда
for (int i = 1; i < 256; i++)
cnt[j][i] += cnt[j][i - 1];
...
HRESULT STDMETHODCALLTYPE XXX::Initialize(
LPCITEMIDLIST pidlFolder,
LPDATAOBJECT lpdobj,
HKEY hkeyProgID)
{
STGMEDIUM medium;
FORMATETC fe = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
if(SUCCEEDED(lpdobj->GetData(&fe,&medium))) {
UINT n = DragQueryFile((HDROP)medium.hGlobal,~0,NULL,0);
for (UINT i = 0; i < n; ++i) {
char filePath[MAX_PATH];
DragQueryFile((HDROP)medium.hGlobal,i,filePath,MAX_PATH);
printf("%s\n", filePath);
}
ReleaseStgMedium(&medium);
}
return S_OK;
}
keycode 166 = Prior NoSymbol Prior
keycode 167 = Next NoSymbol Next